Precedence for font-size attribute in a class? |
Precedence for font-size attribute in a class? |
Woody20 |
Mar 13 2012, 12:39 AM
Post
#1
|
Novice Group: Members Posts: 27 Joined: 11-March 11 Member No.: 14,105 |
I have an unusual question, arising from a pgm which reads RTF and outputs HTML.
The pgm is outputting HTML like CODE <style> .jus{ text-align: justify; } .sz10{ font-size: 10pt; } .sz17{ font-size: 17pt; } .f0{ font-family: Times New Roman, Times, serif; } .f32{ font-family: Verdana, sans-serif; } </style> <p class="f0 sz17 cl1 jus sz10" style="text-indent: 12pt;"> <span class="f32">Some sample text</span> The intent is that "Some sample text" is 10-point Verdana, but it appears as 17-point. It looks like the <p> class gives the first definition of font-size (i e sz17) precedence over the second (sz10). What I want to know is, is there a rule for which size will take precedence (first, last, or something else)? And is this rule, if there is one, standard HTML, or different among browsers? A related question: would the same rule apply for other attributes (e g, font-family, justify vs left, etc)? |
Darin McGrew |
Mar 13 2012, 02:34 AM
Post
#2
|
WDG Member Group: Root Admin Posts: 8,365 Joined: 4-August 06 From: Mountain View, CA Member No.: 3 |
The p element has 2 font-size properties. The two selectors have the same specificity, so the one specified later wins. Since the rule for the .sz17 selector appears after the rule for the .sz10 selector, the rule for the .sz17 selector wins.
Is there a reason to include both the sz10 and sz17 class? Only one can have any affect, so you should just omit the unused one. See also: http://www.w3.org/TR/CSS2/cascade.html#cascading-order |
Woody20 |
Mar 13 2012, 12:45 PM
Post
#3
|
Novice Group: Members Posts: 27 Joined: 11-March 11 Member No.: 14,105 |
Is there a reason to include both the sz10 and sz17 class? Only one can have any affect, so you should just omit the unused one. |
Darin McGrew |
Mar 13 2012, 12:53 PM
Post
#4
|
WDG Member Group: Root Admin Posts: 8,365 Joined: 4-August 06 From: Mountain View, CA Member No.: 3 |
QUOTE What is desired is for the one appearing later in the class to dominate Yeah, CSS doesn't work that way. The order the classes appear in the class attribute is irrelevant. It's the order the selectors appear in the style sheet(s) that matters. |
Christian J |
Mar 13 2012, 02:09 PM
Post
#5
|
. Group: WDG Moderators Posts: 9,630 Joined: 10-August 06 Member No.: 7 |
You might give the first rule higher specificity with the !important keyword:
CODE .sz10{ font-size: 10pt !important; } .sz17{ font-size: 17pt; } or by adding the element selector to the rule: CODE p.sz10{ font-size: 10pt; } .sz17{ font-size: 17pt; } BTW, the pt unit is meant for printed media. For screen font sizes you should use percent or em. (This used to matter in older browsers, don't know if there are still any practical consequences of using pt with screen media.) |
pandy |
Mar 13 2012, 02:37 PM
Post
#6
|
🌟Computer says no🌟 Group: WDG Moderators Posts: 20,716 Joined: 9-August 06 Member No.: 6 |
If editing the style sheet is a workable option it would be enough to reorder the rules. But I guess it isn't always the same class that is desired to take precedence. If it's is, this is pretty much a non-issue.
|
Christian J |
Mar 13 2012, 03:38 PM
Post
#7
|
. Group: WDG Moderators Posts: 9,630 Joined: 10-August 06 Member No.: 7 |
Sorry, misunderstood!
|
pandy |
Mar 13 2012, 03:54 PM
Post
#8
|
🌟Computer says no🌟 Group: WDG Moderators Posts: 20,716 Joined: 9-August 06 Member No.: 6 |
I don't know. I'm just guessing.
|
Lo-Fi Version | Time is now: 28th March 2024 - 10:22 AM |