- From: Gérard Talbot <www-style@gtalbot.org>
- Date: Tue, 09 Dec 2014 00:55:36 -0500
- To: Ben Sciascia <ben.sciascia@sciascia.co.nz>
- Cc: W3C www-style mailing list <www-style@w3.org>
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>
and then set the h2'smargin-top to 0.
<div class="right">
<h2 style="margin-top: 0;"></h2>
I checked this and it works for me (Firefox 34.0.5 here): the Headline
then does line up with image on left perfectly.
--------
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.
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.
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.
Received on Tuesday, 9 December 2014 05:56:14 UTC