473,406 Members | 2,377 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

How can I remove a column from a 3-Column Fixed Width CSS stylesheet?

Hello,

this might sound stupid, but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format. Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.

Any way this is possible?

Thanks for your help, it is highly appreciated!
Sarita

Mar 6 '07 #1
31 3031
Sarita wrote on 06 mrt 2007 in comp.infosystems.www.authoring.stylesheets:
this might sound stupid,
Do you care? Please don't.
but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format. Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.

Any way this is possible?
Yes, just write a 2 column one for your homepage.

What is and why do you need a "homepage template"?

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Mar 6 '07 #2
Sarita wrote:
>
but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format. Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.
Why don't you go and find yourself a nice 2-column template instead? ;)
Any way this is possible?
Of course, but since you haven't provided a URL it isn't possible to
give any specifics.

--
Berg
Mar 6 '07 #3
Scripsit Sarita:
this might sound stupid, but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format.
Using a template that you cannot manage is not really a sign of stupidity
but ill-advised. It's better to use simple layout that you can handle than
to work with someone else's design and run into trouble when you wish to
modify it.
Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.
Well, just remove the right column. Make sure to check that the width
setting for the entire table, if set, is consistent with the column width
settings, if set.

As a kludge, you can use CSS to suppress the third column (but the results
are unpredictable if this makes the sum of column widths different from the
setting of the total width):

td:first-child + td + td { display: none; }

Doesn't work on IE 6 or earlier, or on IE 7 in Quirks mode. Well, you could
add class attributes, say class="third", to the cells of the third column
and use a class selector:

td.third { display: none; }

which works on almost any CSS-enabled browser. But why bother, when you can
simply remove the column?

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

Mar 6 '07 #4
Hey there,

thank you for all your replies. I might have chosen a layout that is
more complex than what I know at the moment, but that is usually my
strategy with any new project. Otherwise, how am I going to learn. So
far I have been able to figure anything out. Be it thanks to Googling
stuff or just by playing around with it.

In case you do want to give any hints, I left the stylesheet content
at the end. I had tried playing around with the width, but so far
unsuccessful, hence me posting here...

Thanks again! Happy to learn new stuff every day!
Sarita
body {
text-align: center;
background-color: #D5D0B0;
margin-top:10px;
margin-bottom:10px;
color:#666666;
}

A:link {
COLOR: #C86000; text-decoration: none
}
A:visited {
COLOR: #C86000; text-decoration: none
}
A:active {
COLOR: #C86000; text-decoration: none
}
A:hover {
COLOR: #C86000; text-decoration: underline
}

#page_wrapper {
margin-left: auto;
margin-right: auto;
width: 760px;
text-align: left;
background: #FFFFFF url('../img/content_bg.gif') top left repeat-y;
}

#page_header {
height: 140px;
background: #FFFFFF url('../img/header.jpg') bottom left no-repeat;
clear: both;
}

#page_header h1 {
padding-top:50px; padding-left:15px;
margin:0px;
font-family: verdana;
font-size: 24px;
color: #FBD539;
line-height:26px;
letter-spacing:-1px;
}

#page_header h2 {
margin:0px;
padding-left:15px;
font-family: verdana;
font-size: 12px;
color: #D5D0B0;
line-height:22px;
}

#menu_bar {
margin:0px;
padding:0px;
border:0px dashed #cccccc;
height:31px;
clear:both;
background: #FFFFFF url('../img/menu_bg.gif') bottom left no-repeat;
}

#content_wrapper {
margin-top:10px;
margin-bottom:10px;
margin-left:10px;
margin-right:10px;
border:0px dashed #FFFFFF;
}

#center {
margin-left:160px;
margin-right:160px;
border:0px dashed #cccccc;
}

#center h3 {
margin-top:0px;
margin-bottom:5px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
color: #ffffff;
padding:4px;
border: 1px solid #425227;
background-color: #739240;
}

#center p {
margin-top:5px;margin-bottom:15px;
padding:4px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
line-height: 16px;
}

#left_side {
float: left;
width:140px;
border:0px dashed #cccccc;
}

#left_side h3 {
margin-top:0px;
margin-bottom:5px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
color: #ffffff;
padding:4px;
border: 1px solid #425227;
background-color: #739240;
}

#left_side p {
margin-top:5px;margin-bottom:15px;
padding:4px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
line-height: 16px;
color: #666666;
}

#right_side {
float: right;
width:140px;
border:0px dashed #cccccc;
}

#right_side h3 {
margin-top:0px;
margin-bottom:5px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
color: #ffffff;
padding:4px;
border: 1px solid #425227;
background-color: #739240;
}

#right_side p {
margin-top:5px;margin-bottom:15px;
padding:4px;
font-family: verdana, arial, sans-serif;
font-size: 11px;
line-height: 16px;
color: #666666;
}

#page_footer {
height: 60px;
background: #425227;
clear: both;
border-left: 1px solid #425227;
border-right: 1px solid #425227;
border-bottom: 1px solid #425227;
}

#page_footer p {
padding-top:15px;
text-align:center;
font-family: verdana;
font-size: 10px;
line-height:14px;
color:#D5D0B0;
}

#page_footer A:link {
COLOR: #FBD539; text-decoration: none
}
#page_footer A:visited {
COLOR: #FBD539; text-decoration: none
}
#page_footer A:active {
COLOR: #FBD539; text-decoration: none
}
#page_footer A:hover {
COLOR: #FBD539; text-decoration: underline
}
#navcontainer ul {
padding-left: 0;
margin-left: 0;
margin-top:0px;
background-color: #C86000;
background: url('../img/bar.jpg') top right no-repeat;
color: White;
float: left;
width: 100%;
font-family: verdana, arial, helvetica, sans-serif;
font-size:12px;
font-weight:bold;
}

#navcontainer ul li { display: inline; }

#navcontainer ul li a {
padding-top: 5px;
padding-bottom: 7px;
padding-left:10px;
padding-right:10px;
background-color: transparent;
color: White;
text-decoration: none;
float: left;
border-right: 1px solid #BD620E;
}

#navcontainer ul li a:hover {
background-color: #DE6B02;
background: url('../img/bar_bg_hover.gif') bottom left repeat-x;
color: #fff;
}

#linklist {
padding-left: 0;
margin-left: 0;
border-bottom: 1px solid #D1D9C4;
width: 140px;
}

#linklist li {
list-style: none;
margin: 0;
line-height:20px;
border-top: 1px solid #D1D9C4;
font-family:verdana;
font-size:10px;
}

#linklist li a { text-decoration: none; }

..thumbnail_left {
float:left;
margin-right:10px;
margin-bottom:5px;
border:0px;
}

..thumbnail_right {
float:right;
margin-left:10px;
margin-bottom:5px;
border:0px;
}

-----------------------------------

On Mar 6, 9:10 pm, "Jukka K. Korpela" <jkorp...@cs.tut.fiwrote:
Scripsit Sarita:
this might sound stupid, but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format.

Using a template that you cannot manage is not really a sign of stupidity
but ill-advised. It's better to use simple layout that you can handle than
to work with someone else's design and run into trouble when you wish to
modify it.
Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.

Well, just remove the right column. Make sure to check that the width
setting for the entire table, if set, is consistent with the column width
settings, if set.

As a kludge, you can use CSS to suppress the third column (but the results
are unpredictable if this makes the sum of column widths different from the
setting of the total width):

td:first-child + td + td { display: none; }

Doesn't work on IE 6 or earlier, or on IE 7 in Quirks mode. Well, you could
add class attributes, say class="third", to the cells of the third column
and use a class selector:

td.third { display: none; }

which works on almost any CSS-enabled browser. But why bother, when you can
simply remove the column?

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

Mar 6 '07 #5
Scripsit Sarita:
I might have chosen a layout that is
more complex than what I know at the moment, but that is usually my
strategy with any new project.
Your choice. Generally, it's best to _work_ with something that you master
and _play_ with things that you don't master yet.

Besides, the layout you have chosen (copied?) is also fundamentally flawed
in addition to being too complex. For example:
body {
text-align: center;
background-color: #D5D0B0;
margin-top:10px;
margin-bottom:10px;
color:#666666;
}
Centering each line is _bad_. If you wish to center _some_ inline content,
don't do it in <bodysettings.

The contrast between foreground and background color is quite insufficient.
Even a blind person could see this, e.g. by using the Colour Contrast
Analyser at
http://juicystudio.com/services/colourcontrast.php
A:link {
COLOR: #C86000; text-decoration: none
}
A:visited {
COLOR: #C86000; text-decoration: none
}
Using link colors that drastically differ from common browser defaults,
setting color without setting background, destroying the unvisited/visited
distinction, and removing underlining - how much more wrong could it be? Let
me guess... later rules will set font size in pixels to some small value?

Dump it. Start over. There's no point in improving something that's
inherently so broken.

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

Mar 7 '07 #6
On 6 Mar, 19:16, "Sarita" <SarahCec...@gmail.comwrote:
this might sound stupid, but I got a really nice homepage template
which unfortunately is a 3-Column Fixed Width CSS format. Now I don't
have any content for the right column and would like the middle column
just to use up that space instead.
I suggest you find a new CSS stylesheet for 2-column layout, then use
that.

You don't need much of a "template" with CSS. Good CSS only requires
fairly simple HTML and use of class attributes, so all the "template"
that's needed is a tiny bit of advice along the lines of, 'Have <div
class="left-column" >, <div class="centre-column" and <div
class="right-column" >'. You don't need the complex old "fill in the
blanks" templates from the <tabledays.

The CSS itself though might be complex. A good 3-column stylesheet
(like glish.com) has all manner of complexity in it, to control
scrolling and proportioning behaviour between the columns, with widely
varying browser window widths. As the 2-column problem is just
inherently a lot simpler than the 3-column problem, then a 2-column
stylesheet is often a _lot_ simpler. Rather than trying to cut-down
your 3 column one, start agin with a known working 2-column one. It's
likely that all you'll need to do in the HTML is little more than
rename a <divfrom "leftmost-column" to "menu-sidebar" or similar.

Mar 7 '07 #7
On 6 Mar, 21:10, "Jukka K. Korpela" <jkorp...@cs.tut.fiwrote:
Using a template that you cannot manage is not really a sign of stupidity
but ill-advised.
What's a "template" in the sense you're using it here?

This is c.i.w.a.stylesheets, not c.i.w.a.templates

Although the point you make might well apply to templates, it doesn't
have to apply to CSS and I suspect that the OP was using it in that
sense, as much as in the sense of a "template" (i.e. a prototype for
some HTML they will then create themselves).
It's better to use simple layout that you can handle than
to work with someone else's design and run into trouble when you wish to
modify it.
One of CSS' great commercial advantages (whether by design or
emergent) is that (HTML-skilled, CSS-ignorant, design-ignorant) coders
can make use of exactly such a layout. They will have trouble if they
modify it (and so they shouldn't try), but they can swap in a
different ready-made one easily enough. As 2- and 3-column CSS is
hardly rocket science, there are plenty to choose from.

Although what you say is (as usual) correct in the abstract, it's
still quite unhelpful to the OP.

Mar 7 '07 #8
Scripsit Andy Dingley:
You don't need much of a "template" with CSS. Good CSS only requires
fairly simple HTML and use of class attributes,
And perhaps not even class attributes, though they make things easier. And
sometimes an id attribute is more useful.
so all the "template"
that's needed is a tiny bit of advice along the lines of, 'Have <div
class="left-column" >, <div class="centre-column" and <div
class="right-column" >'.
Those class attributes are paradigmatically wrong. They relate to the
intended layout, not meaning. Things get really confusing if you later
design, say, an alternate stylesheet that puts "left-column" on the very
right, or at the bottom.

Better: class="navi", class="content", class="ads".
>You don't need the complex old "fill in the
blanks" templates from the <tabledays.
To be honest, to design page layout using div elements and CSS _is_ more
difficult than playing with table layout loosely. It's still usually
_better_, for new pages, but let's not pretend it to be easier. Quickly, how
do you make the design occupy all the available height? (Compare this with
<table ... height="100%", which is nonstandard and only works on "quirks"
mode, but still.)
It's
likely that all you'll need to do in the HTML is little more than
rename a <divfrom "leftmost-column" to "menu-sidebar" or similar.
So I guess you really didn't meant the class names you first mentioned to be
exemplary. Too bad people (unlike CSS processors) tend to remember better
what is said _first_. :-(

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

Mar 7 '07 #9
Scripsit Andy Dingley:
>Using a template that you cannot manage is not really a sign of
stupidity but ill-advised.

What's a "template" in the sense you're using it here?
Whatever the original poster meant by it. It's probably a collection of HTML
markup, with dummy content, and associated CSS. The emphasis seemed to be on
the CSS side.
>It's better to use simple layout that you can handle than
to work with someone else's design and run into trouble when you
wish to modify it.

One of CSS' great commercial advantages (whether by design or
emergent) is that (HTML-skilled, CSS-ignorant, design-ignorant) coders
can make use of exactly such a layout.
"Such"? Which of the alternatives?
They will have trouble if they
modify it (and so they shouldn't try), but they can swap in a
different ready-made one easily enough.
Technically ignorant people can naturally produce great content, and they
need not even know about the rendering. They simply write content using
either simple HTML markup according to instructions or using a wysiwyg
program, hopefully realizing that what they see is not what others get, in
rendering. They should be _unaware_ of any styling, or else they should know
what happens or might happens in styling. This is where a little
understanding of CSS is much worse than total ignorance.

If you give CSS to kids (metaphoricall speaking - the "kids" could be of any
age), they'll just spoil everything. It's good for playing but not for work.
As 2- and 3-column CSS is
hardly rocket science, there are plenty to choose from.
You didn't really explain how to achieve 100% height. If you don't
understand how CSS works, you should not even select a CSS style sheet. How
could a CSS-ignorant person know which of the zillions of 2- and 3-column
CSS designs really works? Most of them simply won't, in the World Wide Web
sense (which includes any resolution and any browser).

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

Mar 7 '07 #10
On 7 Mar, 11:59, "Jukka K. Korpela" <jkorp...@cs.tut.fiwrote:
so all the "template"
that's needed is a tiny bit of advice along the lines of, 'Have <div
class="left-column" >, <div class="centre-column" and <div
class="right-column" >'.

Those class attributes are paradigmatically wrong.
I disagree. I think they're the unfortunate but inevitable end result
of conceptual coupling between content and presentation.

It's called a "left column" because it _is_ a left column. It is a
left column because any attempt to repurpose it ends up breaking,
because HTML+CSS isn't all that well-separated between content and
presentation.

Call them "First minor thing groupage", "Main blob" and "afterthoughts
in a later minor grouping" and I'd agree with you. These are unwieldy
though. Of course "left" and "right" are wrong (and for just the
reason you state), but it's an imperfect world. Find some _better_
names and maybe I'll use those.

Primarily though I used left-column deliberately (of course it was
deliberate, I was commenting to one of your posts) because there was a
chance that the OP might understand what was going on. We can worry
about the details later on.

Better: class="navi", class="content", class="ads".
No, those are just plain wrong. They couple a particular function,
"ads", with the grouping of these as a specific block. There's no
reason that I should keep my ads to this "afterthoughts in a later
minor grouping" block. What if I wanted to put a news ticker there
instead and embed my ad into the centre of the body text?

Left, right & middle are _coupled_ (a bad thing), but at least they're
not fragile against application purpose changes. I wouldn't even have
much problem with finally rendering them as top, middle and bottom.

Mar 7 '07 #11
In article <SO******************@reader1.news.saunalahti.fi >,
"Jukka K. Korpela" <jk******@cs.tut.fiwrote:
<div
class="right-column" >'.

Those class attributes are paradigmatically wrong. They relate to the
intended layout, not meaning.
This is altogether too severe a view in general. Your use of the
word "paradigmatically" justifies us in thinking you are not
allowing for someone who wants to layout a page to give
particular information of a visual nature and yet not be wanting
(for all sorts of weblike reasons) to simply deliver a big pic.

The "information" might simply not be in the form where it is
likely or sensible that it be rearranged by some "other"
stylesheet now or later: eg. to put the left on the right or
whatever.

--
dorayme
Mar 7 '07 #12
Scripsit dorayme:
><div
>>class="right-column" >'.

Those class attributes are paradigmatically wrong. They relate to the
intended layout, not meaning.

This is altogether too severe a view in general. Your use of the
word "paradigmatically" justifies us in thinking you are not
allowing for someone who wants to layout a page to give
particular information of a visual nature and yet not be wanting
(for all sorts of weblike reasons) to simply deliver a big pic.
Parse that statement does not. Sorry, but your objection looks like a string
of words only, with no clear meaning.

The only mistake of mine, if it was a mistake, was the (half-jocular) use of
the word "paradigmatically". It has double meaning, referring to Greek
paradeigma (= example) and to the BS word "paradigm" simultaneously. The
point is it's an _examplary_ error to use class names like "right-column" in
small examples. People learn by example and actually use such names.
The "information" might simply not be in the form where it is
likely or sensible that it be rearranged by some "other"
stylesheet now or later: eg. to put the left on the right or
whatever.
It's being on the left or right or somewhere else is still incidental and
not descriptive of meaning and content. Even if you cannot design an
alternate style sheet that places it elsewhere, someone else might be able
to do that.

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

Mar 8 '07 #13
Scripsit Andy Dingley:
It's called a "left column" because it _is_ a left column.
No, we both know it's a navigation bar.
It is a
left column because any attempt to repurpose it ends up breaking,
because HTML+CSS isn't all that well-separated between content and
presentation.
If you have messed things up, naming things by their casual places in the
mess is not a solution but a small step in making things even more messy.
>Better: class="navi", class="content", class="ads".

No, those are just plain wrong.
They are correct for blocks of navigation links, content proper, and
advertisements, no matter where they happen to be placed.
They couple a particular function,
"ads", with the grouping of these as a specific block.
Exactement, monsieur!
There's no
reason that I should keep my ads to this "afterthoughts in a later
minor grouping" block.
If you decide to place the ads elsewhere, you change the style sheet.
What if I wanted to put a news ticker there
instead and embed my ad into the centre of the body text?
Then you add <div class="news">...</divand modify the style sheet.

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

Mar 8 '07 #14
On 2007-03-08, Jukka K. Korpela <jk******@cs.tut.fiwrote:
Scripsit dorayme:
>><div
class="right-column" >'.

Those class attributes are paradigmatically wrong. They relate to the
intended layout, not meaning.

This is altogether too severe a view in general. Your use of the
word "paradigmatically" justifies us in thinking you are not
allowing for someone who wants to layout a page to give
particular information of a visual nature and yet not be wanting
(for all sorts of weblike reasons) to simply deliver a big pic.

Parse that statement does not. Sorry, but your objection looks like a string
of words only, with no clear meaning.

The only mistake of mine, if it was a mistake, was the (half-jocular) use of
the word "paradigmatically". It has double meaning, referring to Greek
paradeigma (= example) and to the BS word "paradigm" simultaneously. The
point is it's an _examplary_ error to use class names like "right-column" in
small examples. People learn by example and actually use such names.
You mean you meant that using class names like that sets a bad example?

"Paradigmatically" sounded to me like you were saying it was wrong
because it didn't _follow_ some authoritative example or paradigm for
how class names should be chosen.

I was waiting with interest to hear what the correct paradigm was for
choosing class names.

"Paradigm" isn't a BS word on its own, only when combined with "shift".
Mar 8 '07 #15
On 8 Mar, 14:21, Ben C <spams...@spam.eggswrote:
"Paradigm" isn't a BS word on its own, only when combined with "shift".
Or when wearing a clean suit, with tie.

(old tweeds are OK)

Mar 8 '07 #16
In article <R9******************@reader1.news.saunalahti.fi >,
"Jukka K. Korpela" <jk******@cs.tut.fiwrote:
Scripsit dorayme:
<div
class="right-column" >'.

Those class attributes are paradigmatically wrong. They relate to the
intended layout, not meaning.
This is altogether too severe a view in general.

...Sorry, but your objection looks like a string
of words only, with no clear meaning.
....
>
The only mistake of mine, if it was a mistake, was the (half-jocular) use of
the word "paradigmatically".
It was no mistake. That was fine. I think your advice is very
good in general about choosing class names that reflect the
nature of a chunk of stuff in some html box. For all the usual
reasons.

But I do not think it is practical in some situations, it adds an
unnecessary strain on one's time, it is a pedantic and irksome
voice when too loud. Some (you eg!) here have had a tendency to
start raising the volume even where someone wants to sort out a
problem that has nothing to do with the name; in an example
designed to show off some puzzle in a poster's mind. It is not
hard to guess why you do it. But at least someone around here
needs to say something to qualify these lofty things. Fancy a non
human having to do so.

'Best practice' naming is often an irksome obligation for
unrealistic reasons.

It is sometimes hard to know what the heck to name some class
except by reference to the real (to be realistic) reason of its
creation, namely visual criteria. I often can't quickly come up
with better than #biggerTopMargin to apply to some list items in
a ul so that I can get a gap going to achieve a bit of finer
grouping of some of the items. Yes, I could sit and scratch the
head and make separate uls etc but it is irksome and too trivial.
A little common sense in applying the teachings of the church can
be very good. You can't of course, because everyone looks to you
to be thoroughly severe. <g>

And there must be many more examples to illustrate what I am
saying. Take a case where it really does not matter where the
author puts any of two containers. The information that goes into
either is not particularly different in nature. It is just that
he or she wants to have one somewhere or other and the other
somewhere else! Half read first and the half read second in a
voice browser. It is a strain having to think up semantically
useful names where really there is not. And yet it be practical
and convenient to name them for a hook to distinguish the css for
each. Intended practical purpose presentation is not always a
great crime.

I better stop. My daughter is getting married tomorrow and I have
not prepared my speech. What _will_ I babble about?

--
dorayme
Mar 9 '07 #17
Scripsit dorayme:
A little common sense in applying the teachings of the church can
be very good. You can't of course, because everyone looks to you
to be thoroughly severe. <g>
Actually, I'm not part of the church (W3C) at all. Rather, an independent
evangelist, or a monk.

So many examples by the church are _bad_ examples. That's more serious than
class="left" in a casual example in a casual posting in a casual Usenet
group, though the latter _is_ serious too. When you intend to give an
example, give a good example, or don't give an example at all. It's actually
often _simpler_ to find reasonable class names for sketchy examples than for
real code.
I better stop. My daughter is getting married tomorrow and I have
not prepared my speech. What _will_ I babble about?
Why, CSS, of course. You could remind them of the need for sufficient margin
and padding and avoiding excessively wide borders. Maybe you can warn them
that in a marriage, everyone's mind will be overfilled with problems and
difficult feelings at times, and then overflow: visible is usually better
than overflow: hidden. You could discuss their eventual future children,
especially :first-child, and inheritance, but that might be too sensitive.

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

Mar 9 '07 #18
On 8 Mar, 13:31, "Jukka K. Korpela" <jkorp...@cs.tut.fiwrote:
Scripsit Andy Dingley:
It's called a "left column" because it _is_ a left column.

No, we both know it's a navigation bar.
Now why would you think that? There's no reason at all why it should
be coupled to navigation.

OK, it's not "left" either. But if we're to be fussy about names, then
all we can possibly leave ourselves with is, "random grouping of stuff
with some implication of secondary nature and an implicit ordering
before any of the other secondary items". That really is the most we
can say with any confidence.

"Left" is a cultural imposition here from Latin left-to-right
languages, where left implies first, which implies most important.
Some time I must ask our office Arabic and Chinese speakers about how
they see it too.
I agree with the point you're making. However I see your example
that's position-free but bound to the particular function as being
much worse.
Better: class="navi", class="content", class="ads".
No, those are just plain wrong.

They are correct for blocks of navigation links, content proper, and
advertisements, no matter where they happen to be placed.
Indeed they are. It's a mistake to bind CSS positioning to them in
that role, because that couples their function to their positioning in
an environment where the same positioning may well need to be applied
to elements with different function. Yes, it's a clean design in terms
of separating positioning from the HTML, but it's a bad design for the
more practically important requirement of separating function from the
CSS code.
I would _much_ prefer code like this (using multiple classes):

[page 1] <div class="foo-block ads" >

[page 2] <div class="foo-block news-ticker" >

[page 3] <div class="foo-block ><div class="news-ticker" >

[stylesheet] .foo-block { float: left; }
Than your presumed stylesheet where the "right column" positioning
must needs be applied through a more complex selector like this

..ads, .news-ticker { float: left; }

Mar 9 '07 #19
On 2007-03-09, Jukka K. Korpela <jk******@cs.tut.fiwrote:
Scripsit dorayme:
>A little common sense in applying the teachings of the church can
be very good. You can't of course, because everyone looks to you
to be thoroughly severe. <g>

Actually, I'm not part of the church (W3C) at all. Rather, an independent
evangelist, or a monk.

So many examples by the church are _bad_ examples. That's more serious than
class="left" in a casual example in a casual posting in a casual Usenet
group, though the latter _is_ serious too. When you intend to give an
example, give a good example, or don't give an example at all. It's actually
often _simpler_ to find reasonable class names for sketchy examples than for
real code.
The point of "semantics" is to say what you mean. If you mean, "this div
is the one on the left", then call it "#left". Much better to be honest
than to pretend you had some loftier or more purist classification in
mind when you don't.

Then you can come along later and think, this div on the left, what is
it really, what would be a better name for it?

But if you make up a bogus name (and classification) too early before
you've really decided what you want you are more likely to tie yourself
in knots. You will come back later and think, now what did I mean when I
called it "toplevel-content" or somesuch, forgetting that you meant
nothing really because you hadn't figured it out.

It is best to choose whatever organization makes sense at the time, and
be prepared to change it later, and to recognize that finding a good
organization is not trivial and will take some thought.
Mar 9 '07 #20
Scripsit Ben C:
If you mean, "this
div is the one on the left", then call it "#left". Much better to be
honest than to pretend you had some loftier or more purist
classification in mind when you don't.
Of course if someone thinks in stupid way, he should also talk and write
stupidly. Luckily this is almost always the case. The problem is that the
reverse is not always true: people write id="left" even when they _do_ think
more or less logically - but are imitating something they saw on Usenet, or
even in a book.
Then you can come along later and think, this div on the left, what is
it really, what would be a better name for it?
You would then be doing things in the wrong order, reserving some space and
then thinking how to fill it out, or throwing in things and then thinking
whether they have something in common (and hence a meaningful common name).
It is best to choose whatever organization makes sense at the time,
Yes, organization. Not layout.
and be prepared to change it later, and to recognize that finding a
good organization is not trivial and will take some thought.
Surely, and sometimes you even modify organization to make layout problems
easier. But that's a different issue.

Using class="left" or id="left" would be meaningful only in rare cases where
it is essential to the content that something appears on the left, e.g. when
you are discussing a painting, displayed on a page, and writing your
comments _about_ something on the left side.

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

Mar 9 '07 #21
On 2007-03-09, Jukka K. Korpela <jk******@cs.tut.fiwrote:
Scripsit Ben C:
>If you mean, "this
div is the one on the left", then call it "#left". Much better to be
honest than to pretend you had some loftier or more purist
classification in mind when you don't.

Of course if someone thinks in stupid way, he should also talk and write
stupidly. Luckily this is almost always the case.
I'm not so sure it is. Many stupid people are quite skilled at sounding
like they know what they're talking about.
The problem is that the reverse is not always true: people write
id="left" even when they _do_ think more or less logically - but are
imitating something they saw on Usenet, or even in a book.
Fair enough, it might set a bad example. It's perhaps better to use
"class=foo" etc. in examples.
>Then you can come along later and think, this div on the left, what is
it really, what would be a better name for it?

You would then be doing things in the wrong order, reserving some space and
then thinking how to fill it out, or throwing in things and then thinking
whether they have something in common (and hence a meaningful common name).
That's exactly my point-- there isn't a right or wrong order. You might
think of the organization after writing the content, or before.
Mar 9 '07 #22
On 9 Mar, 12:55, Ben C <spams...@spam.eggswrote:
The point of "semantics" is to say what you mean.
OT, but I've spent too much time on metadata publishing to let this go
past.

The point of semantics is to say something that causes other people to
think what you mean them to think. It's a lot easier to merely say
what you mean, but the risk is that no-one else can understand it.

This is _especially_ relevant to metadata publishing within the web
world. It's why we fool around with ontologies to try and communicated
the meaning of the semantic properties, not just their (otherwise
meaningless) values. Look at all the precisely detailed <meta>s you've
seen, which could never be processed or understood by any web spider.

Mar 9 '07 #23
Scripsit Ben C:
It's perhaps better to use
"class=foo" etc. in examples.
It's better than class="left", surely, but foobarism is a bit esoteric, so
I'd use really examplary examples whenever possible. When the class name
need not be mentioned elsewhere, class="..." would do.
>You would then be doing things in the wrong order, reserving some
space and then thinking how to fill it out, or throwing in things
and then thinking whether they have something in common (and hence a
meaningful common name).

That's exactly my point-- there isn't a right or wrong order.
Well, not _my_ point.
You might think of the organization after writing the content, or before.
Yes, but that's a different issue. The question revolves around designing
the visual appearance before you have designed the logical structure
(organization).

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

Mar 9 '07 #24
On Mar 9, 2007 Ben C wrote:
I'm not so sure it is. Many stupid people are quite skilled at sounding
like they know what they're talking about.
This is very true. I would add that many extremely intelligent sounding
people can in actual fact be very stupid.
--
Patrick
Brighton, UK
If you wish you can email me from web-site.
<http://www.patrickjames.me.uk>

Mar 9 '07 #25
Rik
patrick j <us**********@googlemail.comwrote:
On Mar 9, 2007 Ben C wrote:
>I'm not so sure it is. Many stupid people are quite skilled at sounding
like they know what they're talking about.

This is very true. I would add that many extremely intelligent sounding
people can in actual fact be very stupid.
And extremely intelligent people can sound stupid, also very common...
--
Rik Wasmus
Posted on Usenet, not any forum you might see this in.
Ask Smart Questions: http://tinyurl.com/anel
Mar 9 '07 #26
On Mar 9, 2007 Rik wrote:
And extremely intelligent people can sound stupid, also very common...
I find this fact quite reassuring :)

--
Patrick
Brighton, UK
If you wish you can email me from web-site.
<http://www.patrickjames.me.uk>

Mar 9 '07 #27
Rik
patrick j <us**********@googlemail.comwrote:
On Mar 9, 2007 Rik wrote:
>And extremely intelligent people can sound stupid, also very common...

I find this fact quite reassuring :)
Yup, it's a great excuse :P
--
Rik Wasmus
Posted on Usenet, not any forum you might see this in.
Ask Smart Questions: http://tinyurl.com/anel
Mar 9 '07 #28
In article <2X*****************@reader1.news.saunalahti.fi> ,
"Jukka K. Korpela" <jk******@cs.tut.fiwrote:
Scripsit Ben C:
If you mean, "this
div is the one on the left", then call it "#left". Much better to be
honest than to pretend you had some loftier or more purist
classification in mind when you don't.
....
Then you can come along later and think, this div on the left, what is
it really, what would be a better name for it?

You would then be doing things in the wrong order, reserving some space and
then thinking how to fill it out, or throwing in things and then thinking
whether they have something in common (and hence a meaningful common name).
It is best to choose whatever organization makes sense at the time,

Yes, organization. Not layout.
and be prepared to change it later, and to recognize that finding a
good organization is not trivial and will take some thought.

Surely, and sometimes you even modify organization to make layout problems
easier. But that's a different issue.

Using class="left" or id="left" would be meaningful only in rare cases where
it is essential to the content that something appears on the left, e.g. when
you are discussing a painting, displayed on a page, and writing your
comments _about_ something on the left side.
There are many many situations where one is just making one page
and wants it to look useful without bothering one's head about
trying to think of the nature of what is on the left or right or
why a few things need more spacing (via class) than other things.
Not sure about other people here but I use html and css quite a
bit not only for public web pages but more or less 'private'
correspondence, eg, showing a company some drafts of graphic
designs via an html page with links to the pics of the art work.
The task often simply cannot bear the weight of this idea of the
correct order of doing things.

You make a list or whatever and then you notice further things
that would be useful. You _can_ furtively look over your shoulder
and if you feel that Mr. Korpela is watching, curse and say real
loud. "Damn, how silly of me not to have thought this through"
and start again with a better 'structure' (with the benefit of
hindsight). Or you can just add a bit of css and class and get
what is useful for the limited purpose with speed and efficiency.

All of us have different abilities to foresee things in advance.
JK's expectations are very high.

--
dorayme
Mar 11 '07 #29
In article <7r******************@reader1.news.saunalahti.fi >,
"Jukka K. Korpela" <jk******@cs.tut.fiwrote:
>Scripsit dorayme:
I better stop. My daughter is getting married tomorrow and I have
not prepared my speech. What _will_ I babble about?

Why, CSS, of course. You could remind them of the need for sufficient margin
and padding and avoiding excessively wide borders. Maybe you can warn them
that in a marriage, everyone's mind will be overfilled with problems and
difficult feelings at times, and then overflow: visible is usually better
than overflow: hidden. You could discuss their eventual future children,
especially :first-child, and inheritance, but that might be too sensitive.
I was all set to do this when I noticed, as I rose to the
microphone, the extensive family of the groom, all in dark
glasses, fingering their table knives and looking at me as if to
say, "Now don't embarrass anyone, you comedian, not even your own
daughter or else..." Thanks anyway for the thoughts <g>

--
dorayme
Mar 11 '07 #30
On Sun, 11 Mar 2007 02:13:02 +0000, dorayme wrote
(in article <do**********************************@news-vip.optusnet.com.au>):
In article <7r******************@reader1.news.saunalahti.fi >,
"Jukka K. Korpela" <jk******@cs.tut.fiwrote:
>Scripsit dorayme:
>I better stop. My daughter is getting married tomorrow and I have
not prepared my speech. What _will_ I babble about?

Why, CSS, of course. You could remind them of the need for sufficient
margin
and padding and avoiding excessively wide borders. Maybe you can warn them
that in a marriage, everyone's mind will be overfilled with problems and
difficult feelings at times, and then overflow: visible is usually better
than overflow: hidden. You could discuss their eventual future children,
especially :first-child, and inheritance, but that might be too sensitive.

I was all set to do this when I noticed, as I rose to the
microphone, the extensive family of the groom, all in dark
glasses, fingering their table knives and looking at me as if to
say, "Now don't embarrass anyone, you comedian, not even your own
daughter or else..." Thanks anyway for the thoughts <g>

<g>Hope the wedding went well, dorayme, and that the marriage is now well and
truly validated.


--
Sally in Shropshire, UK
bed and breakfast near Ludlow: http://www.stonybrook-ludlow.co.uk
Burne-Jones/William Morris window in Shropshire church:
http://www.whitton-stmarys.org.uk

Mar 11 '07 #31
In article
<00*****************************@news.individual.n et>,
Sally Thompson <sa************@yahoo.co.uk.invalidwrote:
<g>Hope the wedding went well, dorayme,
Thanks. One of the happiest days of my life. Incredible as it
seems, on the actual day, nothing at all went wrong and
everything better than could possibly could be expected. But, of
course, I was no objective observer (just a martian palming off a
little martian onto an unsuspecting earthling to further
infiltrate this planet according to a higher plan).

--
dorayme
Mar 11 '07 #32

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Peter Gomis | last post by:
I have encountered a situation where I am unable to remove a .NET assembly from the GAC. The message I receive is "Assembly 'assemblyname' could not be uninstalled because it is required by other...
12
by: Sam Collett | last post by:
How do I remove an item with a specified value from an array? i.e. array values 1,2,2,5,7,12,15,21 remove 2 from array would return 1,5,7,12,15,21 (12 and 21 are NOT removed, duplicates are...
11
by: Tony Johansson | last post by:
Hello! I have some problem with STL function remove I have two classes called Handle which is a template class and Integer which is not a template class. The Integer class is just a wrapper...
6
by: Arne Claus | last post by:
Hi If've just read, that remove() on a list does not actually remove the elements, but places them at the end of the list (according to TC++STL by Josuttis). It also says, that remove returns a...
3
by: Don | last post by:
My user control has a combobox with an arraylist attached to it along with custom add and remove methods. The "Add" method is working great. However I don't understand why the "Remove" method...
6
by: tshad | last post by:
Is there a reason to use session.remove over session.contents.remove? Don't they both remove the key and data from the contents collection? I assume that session(x) = nothing does essentially...
6
by: sam_cit | last post by:
Hi Everyone, I'm using remove() function to delete a file, and i observed the following behavior, Concerned file : sample.txt Operation : i open the file in read mode and don't close the...
10
by: =?Utf-8?B?YmJn?= | last post by:
Hi all, I wanted to go through each entry(?) of ArrayList and remove some particular entry. So I tried following but it throws exception at runtime: foreach (myEntry entry in myArrayList) {...
2
by: =?Utf-8?B?R3JlZw==?= | last post by:
I have the following code the dynamically adds a specific number of controls. for x as integer = 1 to 10 Dim btn as Windows.Forms.Button = New Windows.Forms.Button btn.Name = "btn" & x btn.Text...
4
by: FullBandwidth | last post by:
I have been perusing various blogs and MSDN pages discussing the use of event properties and the EventHandlerList class. I don't believe there's anything special about the EventHandlerList class in...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.