`

10个你未必知道的CSS技巧

    博客分类:
  • css
阅读更多

本文作者是:Trenton Moss。
发表网站是:http://www.webcredible.co.uk/

本翻译并未得到作者或网站授权。一切权利都归原作者及原网站所有。
如果你得到原作者或原发表网站的授权,可以自由使用本翻译。

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 class="text side">...</p>

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

补充:对于一个ID,不能这样写<p id="text side">...</p>也不能这样写

3. CSS border的缺省值

通常可以设定边界的颜色,宽度和风格,如:
border: 3px solid #000
这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

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

4. CSS用于文档打印

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

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

<link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" /> <link type="text/css" rel="stylesheet" href="printstyle.css" media="print" />

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

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

5. 图片替换技巧

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

比如你想整个卖东西的图标,你就用了这个图片:
<h1><img src="widget-image.gif" alt="Buy widgets" /></h1>
这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:
<h1>Buy widgets</h1>
但这样就没有特殊字体了。要想达到同样效果,可以这样设计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 }

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

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

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

这样调用:
<div id="box"><div>...</div></div>
这样,不管什么浏览器,宽度都是150点了。

7. 块元素居中对齐

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

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

你会使用 <div id="content"> 来围上所有元素。这很简单,但不够好,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 }

这样容器内所有的元素都会相对定位,可以这样用:
<div id="container"><div id="navigation">...</div></div>
如果想定位到距左30点,距上5点,可以这样:

#navigation { position: absolute; left: 30px; top: 5px }

当然,你还可以这样:
margin: 5px 0 0 30px
注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。

10. 直通到屏幕底部的背景色

在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:

#navigation { background: blue; width: 150px }

较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?

不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。

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

此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。

分享到:
评论

相关推荐

    你未必知道的CSS故事:揭开leading的面纱.doc

    在CSS的世界里,"Leading"是一个古老的排版术语,它源于传统的印刷行业,特别是在铅活字印刷时代。"Leading"这个词来源于英文,指的是在两行文本之间插入的铅条,用来增加行间的空白,从而创造出适当的行间距。在...

    25个高级CSS技巧教程

    下面,我们将详细解析这25个高级CSS技巧,帮助你提升CSS技能,创造出更加吸引人的网页界面。 1. **CSS文字渐变和背景渐变**:使用CSS的`linear-gradient()`和`radial-gradient()`函数可以轻松创建文字和背景的渐变...

    不错的10个你未必知道的CSS技巧

    CSS允许将多个字体属性合并到一行中,称为字体属性简写。例如,可以将`font-weight`, `font-style`, `font-variant`, `font-size`, `line-height`, 和 `font-family`组合成一行: ```css font: bold italic small-...

    你需要知道的css技巧

    ### 题目:你需要知道的CSS技巧 ### 描述解读: 每个前端开发者都应该发展出自己的CSS风格,并且对至少一种布局方法有着深入的理解,这样才能够高效地编写出期望的代码。此外,在编写CSS时还需要考虑到浏览器兼容性...

    css排版技巧 实用

    ### CSS排版技巧详解 #### 一、引言 随着网页设计标准的不断提升与浏览器兼容性的改善,越来越多的网站设计者开始放弃传统的表格布局方法,转而采用更加灵活且易于维护的CSS(层叠样式表)进行网页排版。本文将...

    css9种设计技巧

    在网页设计中,CSS(Cascading Style Sheets)起着至关重要的作用,它...以上就是9种CSS设计技巧,它们能帮助你创建更加美观、响应式的网页。在实践中,灵活运用这些技巧可以提升网页的用户体验,并使设计更加专业。

    css实用的技巧 css css

    4. **CSS应用小技巧十四例**:这可能是一系列实际场景中的CSS技巧,例如隐藏元素、背景图片定位、文本溢出处理、自适应边距和间距等。 5. **CSS代码缩写实例以及CSS缩写原因总结**:介绍了CSS属性值的缩写形式,如`...

    20个非常实用的CSS技巧

    CSS技巧涵盖了多种情况,如图像处理、布局调整、边框设计等。以下是详细的知识点: 1. 照片黑白化技巧:通过CSS的filter属性应用grayscale(100%),可以将彩色照片转换为黑白照片,适用于一些特定的网页设计风格。 ...

    上百个CSS实例|CSS基础学习|CSS入门基础|CSS样式集合

    本资源集合包含了“上百个CSS实例”,旨在帮助初学者快速掌握CSS的基础知识和应用技巧。 1. **CSS选择器**:CSS的选择器是定位HTML元素的关键,包括标签选择器、类选择器、ID选择器、属性选择器等。例如,`p` 选择...

    css课件+CSS2中文手册+CSS 速成手册+css技巧

    通过深入学习“CSS2中文手册”,快速浏览“CSS 速成手册”,掌握“css技巧”,并结合“css课件”的实践,你将能够熟练地运用CSS来设计出令人印象深刻且功能强大的网页。记得,CSS不仅仅是关于外观,更是关于用户体验...

    CSS hack技巧大全

    【CSS Hack技巧大全】 在网页开发中,CSS(层叠样式表)的兼容性问题一直是一个挑战,尤其是在处理不同浏览器间的表现差异时。CSS Hack是一种技术,用来解决这些差异,确保样式在各种浏览器中都能正确呈现。本文将...

    css技巧.rar

    在网页制作领域,CSS(Cascading Style Sheets)是一种至关重要的技术,用于定义HTML或XML(包括SVG...通过深入学习和实践这些CSS技巧,你可以提升网页的视觉吸引力、交互性和性能,从而成为一名更出色的网页制作专家。

    css技巧描述文档

    css技巧描述文档

    CSS设计彻底研究详细介绍了css 设计技巧 (ppt)

    第10章则讲解了如何用CSS美化表格,如制作多模式日历。第11章深入讨论了创建圆角框的多种方法,分析了各种方法的优缺点和适用场景。第12章介绍了近年来新兴的网页元素的CSS实现,如Tab面板、折叠面板和伸缩面板等。 ...

    20个初学者实用的CSS技巧

    标题中的“20个初学者实用的CSS技巧”是指针对CSS初学者的一系列技术要点,旨在帮助他们快速掌握CSS的基本应用。这些技巧涵盖了从解决浏览器兼容性问题到优化代码效率,以及实现各种视觉效果的各个方面。 描述中...

    你所不知道的 CSS 动画技巧与细节

    【CSS 动画技巧与细节】 CSS 动画在网页设计中扮演着至关重要的角色,它们为用户体验增添了动态效果和视觉吸引力。...无论你是初学者还是经验丰富的开发者,探索和学习这些技巧都将对你的CSS技能库大有裨益。

    CSS使用技巧的word文档

    本文档提供了几个实用的CSS使用技巧,帮助开发者更高效地控制页面样式。 1. 文字水平居中:通过设置`text-align`属性为`center`,可以实现一段文字在容器内的水平居中对齐。 ```css text-align: center; ``` 2. ...

    CSS的十八般技巧教你如何更加有效地使用CSS

    本文总结了18个实用的CSS技巧,旨在帮助开发者更高效地运用CSS,提高工作效率。 1. **使用CSS缩写**:通过缩写,如`margin: 0 auto`代替`margin-top: 0; margin-bottom: 0; margin-left: auto; margin-right: auto;...

    日常css制表应用10种技巧

    【CSS制表应用10种技巧】 在网页设计和开发中,CSS(层叠样式表)扮演着至关重要的角色,不仅用于美化网站外观,还能极大提高代码的可维护性和效率。以下是从专业设计师的经验中提炼出的10种CSS应用技巧: 1. **...

Global site tag (gtag.js) - Google Analytics