Heim >Web-Frontend >CSS-Tutorial >20 Tipps zur Verwendung von CSS_CSS/HTML

20 Tipps zur Verwendung von CSS_CSS/HTML

WBOY
WBOYOriginal
2016-05-16 12:11:011297Durchsuche

1. CSS字体属性简写规则

一般用CSS设定字体属性是这样做的:

font-weight: bold;
font-style: italic;
font-varient: small-caps;
font-size: 1em;
line-height: 1.5em;
font-family: verdana,sans-serif

但也可以把它们全部写到一行上去:

font: bold italic small-caps 1em/1.5em verdana,sans-serif

真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。

2. 同时使用两个类

一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:

...

同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

3. CSS border的缺省值

通常可以设定边界的颜色,宽度和风格,如:

border: 3px solid #000

这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。

4. CSS用于文档打印

许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:



第1行就是显示,第2行是打印,注意其中的media属性。

但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。

5. 图片替换技巧

一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。

比如你想整个卖东西的图标,你就用了这个图片:

Buy widgets

这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:

Buy widgets

但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:

h1
{
background: url(widget-image.gif) no-repeat;
height: image height
text-indent: -2000px
}

注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。

6. CSS box模型的另一种调整技巧

这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:

#box
{
width: 100px;
border: 5px;
padding: 20px
}

这样调用它:

...

这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。

但用CSS也可以达到同样的目的,让它们显示效果一致。

#box
{
width: 150px
}

#box div
{
border: 5px;
padding: 20px
}

这样调用:

...

这样,不管什么浏览器,宽度都是150点了。

7. 块元素居中对齐

如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:

#content
{
width: 700px;
margin: 0 auto
}

你会使用

来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:

body
{
text-align: center
}

#content
{
text-align: left;
width: 700px;
margin: 0 auto
}

这会把网页内容都居中,所以在Content中又加入了
text-align: left 。

8. 用CSS来处理垂直对齐

垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。

CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。

9. CSS在容器内定位

CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:

#container
{
position: relative
}

这样容器内所有的元素都会相对定位,可以这样用:

Was können Sie tun, wenn Sie 30 Punkte von links und 5 Punkte von oben lokalisieren möchten?
#navigation
{
Position: absolut;
links: 30px;
oben: 5px
}

Natürlich können Sie auch Folgendes tun:

Rand: 5px 0 0 30px

Beachten Sie, dass die Reihenfolge der 4 Zahlen ist: oben, rechts, unten, links. Natürlich ist manchmal die Positionierung statt der Ränder besser.

10. Hintergrundfarbe direkt am unteren Bildschirmrand

Die Steuerung in vertikaler Richtung liegt außerhalb der Möglichkeiten von CSS. Wenn Sie möchten, dass die Navigationsleiste wie die Inhaltsleiste direkt zum Ende der Seite reicht, ist die Verwendung einer Tabelle sehr praktisch, wenn Sie jedoch nur CSS wie dieses verwenden:

#navigation
{
Hintergrund: blau;
Breite: 150px
}

Eine kürzere Navigationsleiste reicht nicht direkt nach unten, sondern endet, wenn der Inhalt auf halbem Weg endet. Was zu tun?

Leider besteht die einzige Möglichkeit zum Betrügen darin, der kürzeren Spalte ein Hintergrundbild hinzuzufügen, dessen Breite der Spaltenbreite entspricht und dessen Farbe mit der eingestellten Hintergrundfarbe übereinstimmt.

Körper
{
Hintergrund: url(blue-image.gif) 0 0 wiederholen-y
}

Sie können derzeit nicht em als Einheit verwenden, da der Trick dann aufgedeckt wird, sobald der Leser die Schriftgröße ändert, und Sie nur px verwenden können.

11. Vergleich zwischen Block- und Inline-Elementen
Alle HTML-Elemente sind entweder Block- oder Inline-Elemente. Die Eigenschaften des Blockelements sind:
Beginnen Sie immer in einer neuen Zeile Höhe, Zeilenhöhe sowie oberer und unterer Rand können gesteuert werden Die Breite beträgt standardmäßig 100 % des Containers, sofern keine Breite festgelegt ist

,

,

,
,