Sure. I wonder if we should handle different namespaces differently.

Maybe the following two namespaces should get proper type selectors, while any 
others would get class selectors?

http://www.w3.org/1999/xhtml
library://ns.apache.org/royale/html <library://ns.apache.org/royale/html>

Harbs

> On May 15, 2018, at 6:52 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> The goal of typenames is to do the best job we can of emulating Type 
> Selectors.  I understand it isn't perfect, but the browser does have Type 
> Selectors and we can't really stop people from expecting Type Selectors to 
> work, and wishing it would work on the rest of Royale.
> 
> On 5/15/18, 8:37 AM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>    Makes sense, but there’s two problems with that:
> 
>    1. That makes the assumption that components of a specific name implement 
> the HTML component of the same name.
>    2. Classes take precedence over element selectors, so that styling is too 
> easily overridden.
> 
> 
>> On May 15, 2018, at 6:11 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>> 
>> Certain typenames match up against HTMLElement names and are thus valid Type 
>> selectors so are not transformed into Class Selectors.
>> 
>> -Alex 
>> 
>> On 5/15/18, 2:09 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>   Interesting. It looks to me like a bug.
>> 
>>   The theme CSS compiles into this:
>>   Button {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #f8f8f8;
>>           margin: 0px;
>>           border-radius: 2px;
>>   }
>>   Button:hover {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #e8e8e8;
>>   }
>>   Button:active {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #d8d8d8;
>>   }
>> 
>>   Instead of this:
>> 
>>   .Button {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #f8f8f8;
>>           margin: 0px;
>>           border-radius: 2px;
>>   }
>>   .Button:hover {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #e8e8e8;
>>   }
>>   .Button:active {
>>           border: 1px solid #808080;
>>           padding: 4px;
>>           background-color: #d8d8d8;
>>   }
>> 
>>   Button is an element name (case insensitive) instead of a class name…
>> 
>>   Harbs
>> 
>>> On May 15, 2018, at 11:52 AM, Harbs <harbs.li...@gmail.com> wrote:
>>> 
>>> I just tried an experiment of giving an MDL Button a classname of “Button” 
>>> in addition to all the MDL classes. Interestingly, the mdl class names 
>>> overrode the Button one. I’m really not sure why because the Button css 
>>> should have been loaded later than MDL. I’d appreciate your thoughts if you 
>>> have any on that.
>> 
>> 
>> 
> 
> 
> 

Reply via email to