svasti wrote:my point is to distinguish between what is reasonable and what is not. A plugin author should expect a reasonable variation of settings. However sometimes there are some very unusual and unexpected settings which the plugin author does not anticipate and which break plugins unnecessarily.
Okay. However, when I look at Chrome's developer tools, there are currently 253 valid CSS properties for <li>...
svasti wrote:For the mail form I would have liked to give the textarea 100% width in the core.css. It would have been nice if the area would occupy the normal full width of the normal text. However this didn't work with "n6200tbisGPL3": here the text areas were shifted to the right and 100% width would overlapp the content to the right. Looked quike ugly.
The point is: Why is it necessary to shift ALL text areas? If the template author wants to have a special effect somewhere in his plugin, he should limit it to that specific area.
The shift is caused by padding + border in this case, and it is not unreasonable to specify both properties for all textareas to achieve a consistent look.[1]
svasti wrote:In 1.6 we started like this and the mail form has selectors like #xh_mailform and .xh_mailform. Also "n6200tbisGPL3" has .tbisgpl3 before everything — still, as the mailform is inside the content area, the #xh_mainform textarea is dependend on the preceding .tbisgpl3 definition, because css is cascading.
Indeed, that is our basic problem here.
svasti wrote:I have been working with Thorstens template n6200tbisGPL3 a bit more and the problem is, that this template has 4 (yes FOUR) css files and is loading some of these css files after the plugin css is loaded.
So there is no chance for a plugin css, since these values will be overwritten by his subsequent extra template css. Except plugin css values add !important.
Not necessarily. Everything depends on the
specificity. As IDs have higher specificity than classes, we could solve
some issues by requesting the template designer to not define rules for selectors containing any IDs. Plugins could always use selectors with IDs, and so would overwrite the template's rules.
PS: [1] Besides in this case the padding comes from core.css, and the border is the default property of the UA.