How do I make my div 100% height?
You need to know what the 100% is of, so the parent div
must have a height set. One problem that people often
come up against is making the main page fill the screen
if there's little content. You can do that like this :
CSS
body, html {
height:100%;
}
body {
margin:0;
padding:0;
}
#wrap {
position:relative;
min-height:100%;
}
* html #wrap {
height:100%;
}
Here, the #wrap div goes around your whole page - it's
like a sub-body.
You need to use 'min-height' rather than 'height' for
Firefox because otherwise it will set it to 100% of the
viewport and no more. Internet Explorer, being well...
crap, treats 'height' as it should be treating
'min-height' which it doesn't recognise. (You can target
IE by preceding your code with ' * html ').
To make floated divs within this #wrap div 100% of the
#wrap div... well that's more difficult. I think the
best way is to use the 'faux columns' technique which
basically means that you put the background in your body
rather than your columns. If the body has columns and
your floats don't then it looks like your floated
content is in a column that stretches to the bottom of
the page. I've used this technique in my layout demos.
The problem is often not that the columns aren't 100%
height, but that they're not equal lengths. Columns
usually don't start from the top of the page and end at
the bottom - there's often a header and a footer or
sometimes, more interesting designs don't have a
recognisable columnar layout, but do require div boxes
to be equal heights. This can be done with the aid of a
couple of images and some css or with some javascript.
What is property?
Property is a stylistic parameter (attribute) that can
be influenced through CSS, e.g. FONT or WIDTH. There
must always be a corresponing value or values set to
each property, e.g. font: bold or font: bold san-serif.
How do I write my style sheet so that it gracefully
cascades with user's personal sheet ?
You can help with this by setting properties in
recommended places. Style rules that apply to the whole
document should be set in the BODY element -- and only
there. In this way, the user can easily modify
document-wide style settings.
What are pseudo-elements?
Pseudo-elements are fictional elements that do not exist
in HTML. They address the element's sub-part
(non-existent in HTML) and not the element itself. In
CSS1 there are two pseudo-elements: 'first-line
pseudo-element' and 'first-letter pseudo-element'. They
can be attached to block-level elements (e.g. paragraphs
or headings) to allow typographical styling of their
sub-parts. Pseudo-element is created by a colon followed
by pseudo-element's name, e.g:
P:first-line
H1:first-letter
and can be combined with normal classes; e.g:
P.initial:first-line
First-line pseudo-element allows sub-parting the
element's first line and attaching specific style
exclusively to this sub-part; e.g.:
P.initial:first-line {text-transform: uppercase}
<P class=initial>The first line of this paragraph will
be displayed in uppercase letters</P>
First-letter pseudo-element allows sub-parting the
element's first letter and attaching specific style
exclusively to this sub-part; e.g.:
P.initial:first-letter { font-size: 200%; color: red}
<P class=initial>The first letter of this paragraph will
be displayed in red and twice as large as the remaining
letters</P>
As a developer who works with CSS every day, I find one
complication that continues to bother me in my daily
work. Support for CSS has always been good on the
horizontal scope, but vertical positioning has always
been quite complicated. Alone the procedure to affix a
footer to the bottom of a screen in dependance of the
amount of content is unnecessarily difficult. The old
table method provided much easier methods for this. What
are your thoughts on this and do you see improvement
following in future CSS revisions?
Indeed, the CSS formatting model allows more control
horizontally than vertically. This is due to (typically)
having a known width, but an unknown height. As such,
the height is harder to deal with. However, CSS2 fixed
positioning allows you to place content relative to the
viewport (which is CSS-speak for window) instead of the
document. For example, by setting position: fixed;
bottom: 0 on an element, it will stick to the bottom.
This works in Opera, Safari and Mozilla-based browsers.
IE6 doesn't support it, however. It remains to be seen
if IE7 will support it.
How can I make a page look the same in e.g. NS and MSIE
?
The simple answer is, you can't, and you shouldn't waste
your time trying to make it exactly the same. Web
browsers are allowed, per definition, to interpret a
page as they like, subject to the general rules set down
in the HTML and CSS specifications. As a web author you
can not have a prior knowledge of the exact situation
and/or medium that will be used to render your page, and
it's almost always rather counterproductive to try to
control that process. There is no necessity for a
well-written page to look the same in different
browsers. You may want to strive to ensure that it looks
good in more than one browser, even if the actual
display (in the case of graphical browsers) comes out a
bit different. "Looking good" can be achieved by
adopting sensible design and guidelines, such as not
fixing the size or face of your fonts, not fixing the
width of tables, etc… Don't fight the medium; most web
users only use one browser and will never know, or
bother to find out, that your page looks different, or
even "better", in any other browser.
Is there anything that CAN'T be replaced by Style
Sheets?
Quite a bit actually. Style sheets only specify
information that controls display and rendering
information. Virtual style elements that convey the
NATURE of the content can not be replaced by style
sheets, and hyperlinking and multimedia object insertion
is not a part of style sheet functionality at all
(although controlling how those objects appear IS part
of style sheets functionality.) The CSS1 specification
has gone out of its way to absorb ALL of the HTML
functionality used in controlling display and layout
characteristics. For more information on the possible
properties in CSS, see the Index DOT Css Property Index.
Rule of Thumb: if an HTML element or attribute gives
cues as to how its contents should be displayed, then
some or all of its functionality has been absorbed by
style sheets.
Page Numbers :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17