ホームページ  >  記事  >  ウェブフロントエンド  >  あまり知られていない 10 の CSS テクニック_CSS/HTML

あまり知られていない 10 の CSS テクニック_CSS/HTML

WBOY
WBOYオリジナル
2016-05-16 12:11:371108ブラウズ

本翻译并未得到作者或网站授权。一切权利都归原作者及原网站所有。

如果你得到原作者或原发表网站的授权,可以自由使用本翻译。

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文件中放在后面的类的属性起作用。

补充:对于一个ID,不能这样写

...

也不能这样写

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 }

画像の高さを実際の画像の高さに置き換えることに注意してください。ここでは画像を背景として表示し、インデントを-2000ピクセルに設定しているため、実際のテキストは画面左側の2000ポイントに表示され、見えなくなります。ただし、画像をオフにしている人にとっては、まったく見えなくなる可能性があるので注意してください。

6. CSS ボックスモデルの別の調整テクニック

この Box モデルの調整は主に IE6 より前の IE ブラウザ向けであり、境界線の幅と空白も要素の幅にカウントされます。例:

#box { 幅: 100 ピクセル; パディング: 20 ピクセル }

次のように呼び出します:

...

ボックスの全幅は 150 ポイントになるはずです。これは、IE6 より前の IE を除くすべてのブラウザーで正しくなります。ただし、IE5 などのブラウザでは、全幅は依然として 100 ポイントです。この違いは、先人が発明したボックス調整方法を使用して処理できます。

しかし、CSS を使用して表示に一貫性を持たせることで、同じ目的を達成できます。

#box { width: 150px } #box div { border: 5px }

次のように呼び出します:

...

このように、どのブラウザでも幅は150ポイントになります。

7. ブロック要素を中央に揃えます

固定幅の Web ページを作成し、その Web ページを水平方向の中央に配置したい場合、通常は次のようになります:

#content {幅: 700px; マージン: 0 自動 }

すべての要素を囲むには

を使用します。これは単純ですが十分ではなく、IE6 より前のバージョンではこの効果が表示されません。 CSS を次のように変更します:

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

これにより、Web ページのコンテンツが中央に配置されるため、コンテンツに

を追加しました。

text-align: left 。

8. CSS を使用して垂直方向の配置を処理します

テーブルユニットをvertical-align: middleに設定するだけで、テーブルを使用して簡単に垂直方向の配置を実現できます。しかし、これは CSS では役に立ちません。ナビゲーション バーの高さを 2em に設定し、ナビゲーション テキストを垂直方向の中央に配置したい場合、この属性を設定しても役に立ちません。

CSSメソッドとは何ですか?ちなみに、これらの単語の行の高さを 2em に設定します: line-height: 2em これで完了です。

9. コンテナ内での CSS の配置

CSS の利点の 1 つは、コンテナ内であっても要素を任意に配置できることです。たとえば、このコンテナの場合:

#container { 位置: 相対 }

このようにして、コンテナ内のすべての要素が相対的に配置されます。

のように使用できます。

...

左から 30 点、上から 5 点の位置を特定したい場合は、次のようにすることができます:

#navigation { 位置: 絶対; 左: 30 ピクセル;

もちろん、次のこともできます:

マージン: 5px 0 0 30px

4 つの数字の順序は上、右、下、左であることに注意してください。もちろん、場合によってはマージンよりも位置決めの方が良い場合もあります。

10. 背景色を画面の下部に直接表示します

垂直方向の制御は CSS の機能を超えています。ナビゲーション バーをコンテンツ バーと同じようにページの一番下に直接移動させたい場合は、テーブルを使用するのが非常に便利ですが、次のように CSS のみを使用する場合:

#navigation {背景: 青; 幅: 150px }

短いナビゲーション バーは、真っ直ぐ下まで到達せず、コンテンツが途中で終了すると終了します。何をするか?

残念ながら、不正行為を行う唯一の方法は、列幅と同じ幅で短い列に背景画像を追加し、設定された背景色と同じ色にすることです。

body {background: url(blue-image.gif) 0 0repeat-y }

現時点では単位として em を使用することはできません。読者がフォント サイズを変更するとトリックが明らかになるためです。また、使用できるのは px だけです。

元のソース:
http://blog.csdn.net/zhoujian2003/archive/2006/04/28/696012.aspx

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。