- From: Gérard Talbot <www-style@gtalbot.org>
- Date: Wed, 17 Dec 2014 14:31:26 -0500
- To: Ben Sciascia <ben.sciascia@sciascia.co.nz>
- Cc: W3C www-style mailing list <www-style@w3.org>
Le 2014-12-09 02:02, Ben Sciascia a écrit : >> On 9/12/2014, at 6:55 pm, Gérard Talbot <www-style@gtalbot.org> wrote: >> >> Le 2014-12-08 19:04, Ben Sciascia a écrit : >>> Here’s a link that shows both the issues mentioned: >>> http://line-height.devsite.nz/ >>> Design is obviously subjective but even this basic example shows the >>> issues - specific comments below... >> >> By default, the default, initial vertical margins of <p> element in >> the user agent style sheet all mainstream browsers use >> >> p {margin: 1em 0;} >> >> So, can you try replacing: >> >> <div class="left"> >> <p> >> <img src="http://placehold.it/350x150"> >> </p> >> </div> >> >> with >> >> <div class="left"> >> <img src="http://placehold.it/350x150"> >> </div> > > Yes, but most CMS's I’ve come across wrap images in <p> tags - I don’t > necessarily agree with it but that’s the reality of many sites out > there. So allowing for this in the css becomes more important than > changing the markup - which is not possible in many instances (clients > edit content, not designers - especially in smaller companies). > > Also, there’s no issue with making things line up, I just feel there > would be fewer things to worry about if there was an option to limit > line-height to the height between lines. But such option always existed or already exists, although it's not directly settable. > > > > >> -------- >> >> 2 other things >> >> 1) >> Height of em box is consistent in a font but glyphs do not have the >> same shape, the same height and not the same width in a proportional >> font. >> >> Eg. >> "É" and "e" do not have the same height; >> "w" and "i" do not have the same width. >> So *_visually_* this is tricky. And the line box could be aligned with >> something else but we visually can not be sure because we have to use >> special characters or a font like Ahem font. >> >> So, it's impossible to vertically align 2 glyphs which have different >> shape and form. > > I'm unsure how an option to limit line height to the space between > lines would make this situation better or worse I personally think that bringing up another line-height model is just going to make things worse. In the past, I have advocated several times here and elsewhere to include judicious schemas and examples explaining related concepts in section 10.8 and 10.8.1 of CSS2.1. > - I experience this > problem now, glyphs often don't line up. > Glyphs will never line up, unless you use a special font (like some fantasy fonts like Thought Police or some Canadian Aboriginal font or usually bar-coded fonts) or specially crafted font like Ahem font. > > > >> 2) >> >> When you say: >> >> "Line-height in CSS not only affects the height between lines of text" >> >> this may not be true; it depends on what you meant by "lines of text". >> Line-height sets a minimal of height for the line box; line box is not >> line of text (or line of glyphs). Line height can increase due to tall >> image or bigger font-size. >> >> " >> Line boxes are stacked with no vertical separation (except as >> specified elsewhere) and they never overlap. >> " >> http://www.w3.org/TR/CSS21/visuren.html#inline-formatting >> >> So, in the text of the spec, there is no inter-line-box-gap or >> inter-line-box-spacing. > > > I don’t really understand how line-height is calculated in CSS line-height is one of the most misunderstood CSS2.1 property; it's very often misunderstood and misused. Section 10.8, 10.8.1 and 10.6.1 are difficult to figure out, to understand. > but > based on your comments, it sounds very much as if each line is wrapped > in a box, instead of using a baseline? It is the case... although you can not directly style such box (with a border or background-color). " The rectangular area that contains the boxes that form a line is called a line box. " http://www.w3.org/TR/CSS21/visuren.html#inline-formatting Line box includes the glyphs which fit onto the baseline. Line box is independant of the styling (borders, padding) of inline non-replaced boxes it contains. " The vertical padding, border and margin of an inline, non-replaced box start at the top and bottom of the content area, and has nothing to do with the 'line-height'. But only the 'line-height' is used when calculating the height of the line box. " 10.6.1 Inline, non-replaced elements http://www.w3.org/TR/CSS21/visudet.html#inline-non-replaced By itself and of itself, line box height has nothing to do with the CSS box model. Gérard > > > > > >> >> Gérard >> >>> On 9/12/2014, at 9:54 am, Gérard Talbot <www-style@gtalbot.org> >>> wrote: >>>>> Because line-height also adds space above the headline, headlines >>>>> often fail to line up with other elements. >>>> Please create a *_simple and reduced test page_* illustrating, >>>> demonstrating the issue you describe and upload it somewhere so that >>>> we can examine your code. >>> Notice how out-of-the box, line-height is pushing the headline below >>> the image. In many instances it doesn’t matter but in some designs, >>> it >>> does matter - requiring additional properties to compensate (like >>> adjustments to top margin on either the image or the headline). >>> This is what I meant by "This creates a situation similar to the old >>> box model” - changing leading also changes the space between elements >>> forcing us to juggle multiple properties to compensate for the extra >>> space line-height is adding above and below the element. >>>>> This forces us to compensate with negative margins - and if the >>>>> line >>>>> height is changed, the compensating adjustments also requiring >>>>> updating, creating unnecessary work. >>>>> USE-CASE #2: Headlines need to be visually grouped with paragraphs >>>>> If the design requires that headlines be visually grouped with >>>>> paragraphs, less space is required between the headline and >>>>> paragraph >>>>> and more space before the paragraph. >>>> Visually grouped how? Horizontally? Again, please create a reduce >>>> test page illustrating the issue. >>> If you scroll down to the second two examples you can see what I >>> mean't by visually grouped - the second example shows additional >>> space >>> between the headline and the preceding paragraph. This visually >>> groups >>> the headline with the paragraph immediately below it. >>> You can also see that the second headline feels a bit squashed >>> (subjective, I know) but any increases in line-height will also add >>> additional space above and below the headline. >>> Once again, we have a juggling situation where we're adjusting >>> line-height along with compensating properties instead of just >>> line-height - especially when line-height is adjusted at a later date >>> (i.e. after we’ve added any compensating properties). >>> I agree that the additional space line-height adds is hardly >>> noticeable in many instances but sometimes it is noticeable - and can >>> require the juggling of multiple properties to compensate which is >>> unnecessary in my opinion. >>> Hence the suggestion of an option to force line-height to only affect >>> the space between lines and not the space above and below an element. >>> Hope that all makes sense, >>> Regards, >>> Ben >>>> Le 2014-12-01 14:49, Ben Sciascia a écrit : >>>>> Line-height in CSS not only affects the height between lines of >>>>> text, >>>>> it also alters the space above and below elements. >>>>> This creates a situation similar to the old box model when padding >>>>> also affected width - changing line-height in CSS can require us to >>>>> also alter top and bottom margins or padding. >>>>> USE-CASE #1: Top edges of headlines need to line-up with top edges >>>>> of >>>>> other elements >>>> Are you saying the headlines are on the left-hand (or on the >>>> right-hand) side of other non-headline text elements? What do you >>>> do? Are you using a table element? >>>>> Because line-height also adds space above the headline, headlines >>>>> often fail to line up with other elements. >>>> Please create a *_simple and reduced test page_* illustrating, >>>> demonstrating the issue you describe and upload it somewhere so that >>>> we can examine your code. >>>>> This forces us to compensate with negative margins - and if the >>>>> line >>>>> height is changed, the compensating adjustments also requiring >>>>> updating, creating unnecessary work. >>>>> USE-CASE #2: Headlines need to be visually grouped with paragraphs >>>>> If the design requires that headlines be visually grouped with >>>>> paragraphs, less space is required between the headline and >>>>> paragraph >>>>> and more space before the paragraph. >>>> Visually grouped how? Horizontally? Again, please create a reduce >>>> test page illustrating the issue. >>>> I'm only trying to better understand your description alongside with >>>> what you code exactly. >>>> Gérard >>>>> But because line-height is also affecting the space between the >>>>> headline and the paragraph, line-height on larger headlines (like >>>>> h1s >>>>> and h2s) create a space that’s too big. >>>>> Reducing line-height reduces the space but it also forces lines in >>>>> multi-line headlines to bleed together. Adding negative margin to >>>>> compensate quickly becomes painful if the line-height is adjusted - >>>>> again, the designer is adjusting multiple properties instead of >>>>> one. >>>>> CONCLUSION: >>>>> Overall, this suggestion is about creating an additional >>>>> line-height >>>>> property that forces line-height to only affect the height between >>>>> lines and not the space before and after elements. >>>>> Regards, >>>>> Ben >>>>> ___ >>>>> Ben Sciascia >>>>> Sciascia Brothers >>>>> Level 1, 56 Brown Street, Ponsonby >>>>> PO Box 68-578 Newton, >>>>> Auckland, New Zealand >>>>> PH: +649 360 0559 >>>>> FAX: +649 360 0012 >>>>> MOB: +64 21 44 33 66 >>>>> www.sciascia.co.nz >>>>> ben.sciascia@sciascia.co.nz >>>>> WARNING: This e-mail contains information which is CONFIDENTIAL and >>>>> may be subject to LEGAL PRIVILEGE. If you are not the intended >>>>> recipient, you must not peruse, use, disseminate, distribute or >>>>> copy >>>>> the e-mail or attachments. If you have received this message in >>>>> error, please telephone us immediately and destroy the original >>>>> message. >>> ___ >>> Ben Sciascia >>> Sciascia Brothers >>> Level 1, 56 Brown Street, Ponsonby >>> PO Box 68-578 Newton, >>> Auckland, New Zealand >>> PH: +649 360 0559 >>> FAX: +649 360 0012 >>> MOB: +64 21 44 33 66 >>> www.sciascia.co.nz >>> ben.sciascia@sciascia.co.nz >>> WARNING: This e-mail contains information which is CONFIDENTIAL and >>> may be subject to LEGAL PRIVILEGE. If you are not the intended >>> recipient, you must not peruse, use, disseminate, distribute or copy >>> the e-mail or attachments. If you have received this message in >>> error, please telephone us immediately and destroy the original >>> message. > > > ___ > > Ben Sciascia > > Sciascia Brothers > Level 1, 56 Brown Street, Ponsonby > PO Box 68-578 Newton, > Auckland, New Zealand > > PH: +649 360 0559 > FAX: +649 360 0012 > MOB: +64 21 44 33 66 > > www.sciascia.co.nz <http://www.sciascia.co.nz/> > > ben.sciascia@sciascia.co.nz <mailto:ben.sciascia@sciascia.co.nz> > > WARNING: This e-mail contains information which is CONFIDENTIAL and > may be subject to LEGAL PRIVILEGE. If you are not the intended > recipient, you must not peruse, use, disseminate, distribute or copy > the e-mail or attachments. If you have received this message in > error, please telephone us immediately and destroy the original > message.
Received on Wednesday, 17 December 2014 19:32:04 UTC