Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > HTML > Pure space directly inside div ignored, but pure space directlyinside span honored

Reply
Thread Tools

Pure space directly inside div ignored, but pure space directlyinside span honored

 
 
liketofindoutwhy@gmail.com
Guest
Posts: n/a
 
      03-29-2008
i found that there is a rule regarding "pure space" directly inside a
block element or directly inside an inline element. For the following
example, in compliance strict mode:

<body>

<div>

hello
world

</div>

<div>

<img src="pic.jpg">
<img src="pic.jpg">

</div>

</body>

there are tons of spaces after the first <div>, and they are the
newline and space characters. But none is honored. None is rendered.
(I think they are stored in the DOM tree, but it is just not rendered
on the displayed, because they are directly inside a block element).
Also between the two <div></div> ... <div></div> there are tons of
spaces in the "..." region, but none is rendered. And the same goes
for spaces before the first <img> tag and after the second <img> tag.
(i tested using a body width of 300px, with two images of width 150px,
and the spaces after the second <img> is not causing any vertical
enlargement of div area if i set a visible border on the div. to see
both images on the same line in this case, the <img> tags will need to
be side by side, without any space or newline in between)

So the rule is, any pure space directly inside a block element is
ignored when the browser displays it, it would seem.

Now, when the anonymous inline begins, such as in the case of "hello"
and then "world", and in the case of the first <img> and the second
one, since it begins an anonymous inline element, any pure space in
between will be rendered.

That goes for newline, indentation by tab or space characters, etc.

And that's why we can freely indent the <div> with lots of spaces and
newline without any side effect.

This seems like the rule, applicable on IE7, Firefox 2, and Safari 3.
This being the general rule it seems, does the HTML spec, CSS
Definitive Guide, or any formal doc actually say something about this?
 
Reply With Quote
 
 
 
 
John Hosking
Guest
Posts: n/a
 
      03-29-2008
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote [both here and in c.i.w.a.s]:

Folks who multi-post tend to have more trouble getting help than other
folks. (Today's your lucky day. ) Many in Usenet automatically
ignore posts from those using GoogleGroups, so that's already a strike
against you. Don't make it hard on yourself to get help. In any case,
your post is clearly out of place in c.i.w.a.s, as it has nothing to do
with stylesheets.

> i found that there is a rule regarding "pure space" directly inside a
> block element or directly inside an inline element. For the following
> example, in compliance strict mode:


I don't know what "compliance strict mode" is, but take a look at
http://www.w3.org/TR/html401/struct/text.html#h-9.1 and see if it helps
you. You may be especially interested in the sentence,

"In particular, user agents should collapse input white space sequences
when producing output inter-word space."

[much empirical observation and guesswork snipped]

>
> This seems like the rule, applicable on IE7, Firefox 2, and Safari 3.
> This being the general rule it seems, does the HTML spec, CSS
> Definitive Guide, or any formal doc actually say something about this?


Did you not find anything when you looked? What's the CSS Definitive
Guide, and what authority does it have? It sounds less like a "formal
doc" and more like "some book somebody wrote."


--
John
Read about the UIP: http://improve-usenet.org/
Eric Meyer: He's just this guy, you know?
 
Reply With Quote
 
 
 
 
Ben C
Guest
Posts: n/a
 
      03-29-2008
On 2008-03-29, John Hosking <(E-Mail Removed)> wrote:
> (E-Mail Removed) wrote [both here and in c.i.w.a.s]:
>
> Folks who multi-post tend to have more trouble getting help than other
> folks. (Today's your lucky day. ) Many in Usenet automatically
> ignore posts from those using GoogleGroups, so that's already a strike
> against you. Don't make it hard on yourself to get help. In any case,
> your post is clearly out of place in c.i.w.a.s, as it has nothing to do
> with stylesheets.


Whitespace collapsing is defined in CSS (as well as in HTML).

>> i found that there is a rule regarding "pure space" directly inside a
>> block element or directly inside an inline element. For the following
>> example, in compliance strict mode:

>
> I don't know what "compliance strict mode" is, but take a look at
> http://www.w3.org/TR/html401/struct/text.html#h-9.1 and see if it helps
> you. You may be especially interested in the sentence,
>
> "In particular, user agents should collapse input white space sequences
> when producing output inter-word space."

[...]
 
Reply With Quote
 
liketofindoutwhy@gmail.com
Guest
Posts: n/a
 
      03-29-2008
On Mar 29, 3:03 am, Ben C <(E-Mail Removed)> wrote:
> On 2008-03-29, John Hosking <(E-Mail Removed)> wrote:
>
> > "In particular, user agents should collapse input white space sequences
> > when producing output inter-word space."



sigh... it is not "inter word" space... it is outer...

<div> hello world </div>

the spaces before hello is not inter-word. AND IT IS NOT COLLAPSED.
IT IS TOTALLY IGNORED.

 
Reply With Quote
 
Ben C
Guest
Posts: n/a
 
      03-29-2008
On 2008-03-29, (E-Mail Removed) <(E-Mail Removed)> wrote:
> On Mar 29, 3:03 am, Ben C <(E-Mail Removed)> wrote:
>> On 2008-03-29, John Hosking <(E-Mail Removed)> wrote:
>>
>> > "In particular, user agents should collapse input white space sequences
>> > when producing output inter-word space."

>
>
> sigh... it is not "inter word" space... it is outer...
>
><div> hello world </div>
>
> the spaces before hello is not inter-word. AND IT IS NOT COLLAPSED.
> IT IS TOTALLY IGNORED.


See CSS 2.1 16.6.1 second section, item 1, "[...] a space at the
beginning of a line [...] is removed"

So you're both wrong. It isn't collapsed or ignored, it's REMOVED.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
drag div from inside div to inside another 123Jim Javascript 0 05-16-2011 08:36 AM
I'm looking for html cleaner. Example : convert <h1><span><font>my title</font></span></h1> => <h1>my title</h1>… Stéphane Klein Python 2 03-30-2010 12:35 AM
Can span include span? Fulio Open HTML 5 06-26-2009 10:24 PM
Button click honored by FireFox, but not IE, on a 15-line test page Richard Lionheart Javascript 8 03-16-2006 07:17 PM
Q: Div A inside Div B is larger than Div B Dwayne Madsen Javascript 1 06-01-2005 03:02 PM



Advertisments