By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,738 Members | 1,114 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,738 IT Pros & Developers. It's quick & easy.

p + p

P: n/a

I was using CSS of:
p + p {...}

....to indent secondary paragraphs in conversations and descriptive
text. This allows not including a class on every secondary <ptag, of
which there are often several for each beginning <p>. I just noticed
that while this works fine in FF, it doesn't work at all in IE.

Crap! Is there a way to accomplish this that will work in both IE and
FF? I know, IE should just get with the program, but I don't think I
can wait that long.

Regards,
Kent Feiler
www.KentFeiler.com
Apr 24 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Scripsit Kent Feiler:
I was using CSS of:
p + p {...}

...to indent secondary paragraphs in conversations and descriptive
text. This allows not including a class on every secondary <ptag, of
which there are often several for each beginning <p>.
That's indeed the most logical approach, but...
I just noticed
that while this works fine in FF, it doesn't work at all in IE.
Actually, it works in IE 7, but only in Standards Mode (i.e. when you have a
correct doctype declaration at the start of the document).
Is there a way to accomplish this that will work in both IE and FF?
You could use class attributes but for the paragraphs that do not follow
another paragraphs, i.e. just for the first <pelement in a sequence of
such elements.

Or you could use

p { text-indent: 1.3em; margin: 0; }
h2+p, h3+p, h4+p, h5+p, h6+p, table+p, ul+p, ol+p, dl+p, div+p
{ text-indent: 0; }

That way, IE 6 and older would use text indent for _all_ paragraphs, which
is perhaps tolerable (I've seen many books and serials that use such style),
and newer browsers would indent only paragraphs that do not follow a heading
or list or ... (you may need to tune the list; the above is just a sketch).

--
Jukka K. Korpela ("Yucca")
http://www.cs.tut.fi/~jkorpela/

Apr 24 '07 #2

P: n/a
On Tue, 24 Apr 2007 23:16:54 +0300, "Jukka K. Korpela"
<jk******@cs.tut.fiwrote:

Scripsit Kent Feiler:
I was using CSS of:
p + p {...}

...to indent secondary paragraphs in conversations and descriptive
text. This allows not including a class on every secondary <ptag,
of
which there are often several for each beginning <p>.
That's indeed the most logical approach, but...
I just noticed
that while this works fine in FF, it doesn't work at all in IE.
Actually, it works in IE 7, but only in Standards Mode (i.e. when you
have a correct doctype declaration at the start of the document).
Is there a way to accomplish this that will work in both IE and FF?
You could use class attributes but for the paragraphs that do not
follow another paragraphs, i.e. just for the first <pelement in a
sequence of such elements.

Or you could use

p { text-indent: 1.3em; margin: 0; }
h2+p, h3+p, h4+p, h5+p, h6+p, table+p, ul+p, ol+p, dl+p, div+p
{ text-indent: 0; }

That way, IE 6 and older would use text indent for _all_ paragraphs,
which is perhaps tolerable (I've seen many books and serials that use
such style), and newer browsers would indent only paragraphs that do
not follow a heading or list or ... (you may need to tune the list;
the above is just a sketch).
------------------------------------------------------------------------

Nice idea! Although the guy who was the master of style when HTML and
CSS were just alphabet soup, William J. Strunk in "The Elements of
Style", might complain a bit. Indent-all-paragraphs is way better than
"engineering paragraphs" but it still misses something. The unindented
paragraph (preceeded by blank line) is a kind of reset button, I'd
hate to lose it.

Maybe I should just forget about old versions of IE, but I dunno, it
seems right to at least go back to Current - 1.
Regards,
Kent Feiler
www.KentFeiler.com
Apr 26 '07 #3

P: n/a
Scripsit Kent Feiler:

[ first quoting me ]
Or you could use

p { text-indent: 1.3em; margin: 0; }
h2+p, h3+p, h4+p, h5+p, h6+p, table+p, ul+p, ol+p, dl+p, div+p
{ text-indent: 0; }

That way, IE 6 and older would use text indent for _all_ paragraphs,
which is perhaps tolerable (I've seen many books and serials that use
such style), and newer browsers would indent only paragraphs that do
not follow a heading or list or ... (you may need to tune the list;
the above is just a sketch).
------------------------------------------------------------------------

Nice idea! Although the guy who was the master of style when HTML and
CSS were just alphabet soup, William J. Strunk in "The Elements of
Style", might complain a bit.
Maybe Strunk would have something to complain, but my copy of the book,
fourth edition, with revisions by E. B. White,
a) does not seem to say anything explicit about the topic (though I've only
read the book once and now took a quick look at it)
b) itself indents paragraphs after low-level headings (which themselves are
indented, too) and lists, as well as after vertical spacing that indicates a
major division in text - and even _in_ examples set in blockquote style and
_after_ such an example, despite that fact that block indentation and
vertical margins make that unnecessary.
(It doesn't indent the first paragraph in a section, though, and it presents
the first few words of such a paragraph in small caps.)

I'm not saying that indenting all or almost all paragraphs is good style.
I'm just saying that it can't be regarded as a stylistic catastrophe.
Indent-all-paragraphs is way better than
"engineering paragraphs" but it still misses something. The unindented
paragraph (preceeded by blank line) is a kind of reset button, I'd
hate to lose it.
That's probably still the most common view among typographers. If you regard
it as important enough to implement that style in a manner that works on IE
6 (and older) too, you can use class attributes for paragraphs that should
not be indented (and should perhaps have top margin, unless the preceding
element's bottom margin doesn't suffice). After all, normally just a
minority of paragraphs would need the class attribute.

--
Jukka K. Korpela ("Yucca")
http://www.cs.tut.fi/~jkorpela/

Apr 26 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.