学习网页制作之总结CSS十大技巧

css|技巧|网页

  1.css字体简写规则

  当使用css定义字体时你可能会这样做:

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

  事实上你可以简写这些属性:

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

  现在好多了吧,不过有一点要注意:使用这一简写方式你至少要指定font-size和font-family属性,其他的属性(如font-weight, font-style,font-varient)如未指定将自动使用默认值。

  2.同时使用两个class

  通常我们只为属性指定一个class,但这并不等于你只能指定一个,实际上,你想指定多少就可以指定多少,例如:

<p class="text side">...</p>

  通过同时使用两个class(使用空格而不是逗号分割),这个段落将同时应用两个class中制定的规则。如果两者中有任何规则重叠,那么后一个将获得实际的优先应用。

  3.css中边框(border)的默认值

  当编写一条边框的规则时,你通常会指定颜色、宽度以及样式(任何顺序均可)。例如:border: 3px solid #000(3像素宽的黑色实线边框),其实这个例子中唯一需要指定的值只是样式。假如你指定样式为实线(solid),那么其余的值将使用默认值:默认的宽度为中等(相当于3到4像素);默认的颜色为边框里的文字颜色。如果这正是你想要的效果,你完全可以不在css里指定。

  4.!important会被IE忽略

  在css中,通常最后指定的规则会获得优先权。然而对除了IE以外的浏览器来说,任何后面标有!important的语句将获得绝对的优先权,例如:

margin-top:3.5em !important;margin-top:2em

  除IE以外所有浏览器中的顶部边界都是3.5em,而IE为2em,有时候这一点很有用,尤其在使用相对边界值时(就像这个例子),可以显示出IE与其他浏览器的细微差别。

  (很多人可能还注意到了css的子选择器也是会被IE忽略的)

  5.图片替换的技巧

  使用标准的html而不是图片来显示文字通常更为明智,除了加快下载还可以获得更好的可用性。但是如果你决心使用访问者的机器中可能没有的字体时,你只能选择图片。

  举例来说,你想在每一页的顶部使用“Buy widgets”的标题,但你同时又希望这是能被搜索引擎发现的,为了美观你使用了少见的字体那么你就得用图片来显示了:

<h1><img src="http://www.webjx.com/htmldata/2006-02-21/widget-image.gif" alt="Buy widgets"/></h1>

  这样当然没错,但是有证据显示搜索引擎对真实文本的重视远超过alt文本(因为已经有太多网站使用alt文本充当关键字),因此,我们得用另一种方法:<h1><span>Buy widgets</span></h1> ,那你的漂亮字体怎么办呢?下面的css可以帮上忙:

h1
{
background: url(http://www.webjx.com/htmldata/2006-02-21/widget-image.gif) no-repeat;
}

h1 span
{
position:absolute;
left:-2000px;
}

  现在你既用上了漂亮的图片又很好的隐藏了真实文本——借助css,文本被定位于屏幕左侧-2000像素处。

  6.css盒模型hack的另一选择

  css盒模型hack被用来解决IE6之前的浏览器显示问题,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸:

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

  然后在html中应用:<div id="box">...</div>

  盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),盒模型的hack正是为了解决这一问题,但是也会带来麻烦。更简单的办法如下:

  css:

#box
{
width:150px;
}

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

  html:

<div id="box"><div>...</div></div>

  这样一来在任何浏览器中盒的总宽度都将是150像素。

  7.将块元素居中

  假设你的网站使用了固定宽度的布局,所有的内容置于屏幕中央,可以使用以下的css:

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

  你可以把html的body之内任何项目置于<div id="content"></div>中,该项目将自动获得相等的左右边界值从而保证了居中显示。不过,这在IE6之前版本的浏览器中仍然有问题,将不会居中,因此必须修改如下:

body
{
text-align:center;
}

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

  对body的设定将导致主体内容居中,但是连所有的文字也居中了,这恐怕不是你想要的效果,为此#content的div还要指定一个值:text-align:left

  8.使用css实现垂直居中

  垂直居中对表格来说是小菜一碟,只需指定单元格为vertical-align:middle即可,但这在css布局中不管用。假设你将一个导航菜单的高度设为2em,然后在css中指定垂直对齐的规则,文字还是会被排到盒的顶部,根本没有什么区别。

  要解决这一问题,只需将盒的行高设为与盒的高度相同即可,以这个例子来说,盒高2em,那么只需在css中再加入一条:line-height: 2em 就可实现垂直居中了!

  9. 容器内的css定位

  css的最大优点之一就是可以将对象定位在文档的任何位置,同样的也可以将对象在某容器内进行定位。只需要为该容器添加一条css规则:

#container
{
position:relative;
}

  则容器内的任何元素的定位都是相对于该容器的。假定你使用以下html结构:

<div id="container"><div id="navigation">...</div></div>

  如果想将navigation定位在容器内离左边界30像素,离顶部5像素,可以使用以下css语句:

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

  10.延伸至屏幕底部的背景色

  css的缺点之一是缺乏垂直方向的控制,从而导致了一个表格布局不会遇到的问题。假设你在页面的左侧设定了一列用于放置网站的导航。页面为白色背景,但你希望导航所在的列为蓝色背景,使用以下css即可:

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

  问题在于导航项不会一直延伸到页面的底部,自然它的背景色也不会延伸到底部。于是左列的蓝色背景在页面上被半路截断,浪费了你的一番设计。怎么办呢?很不幸我们现在只能用欺骗的办法,即将body的背景指定为与左列同颜色同宽度的图片,css如下:

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

  背景图应为宽150像素的蓝色图片。这一办法的缺点是没法使用em来指定左列的宽度,当用户改变文字的大小导致内容的宽度扩张时,背景色的宽度不会随之改变。

  到写这篇文章为止这是对这类问题的唯一解决办法,因此你只能为左列使用像素值来获得能够自动延伸的不同的背景色。

时间: 2024-12-30 15:35:45

学习网页制作之总结CSS十大技巧的相关文章

学习网页制作: 用CSS来控制网页背景

css|控制|网页|网页背景 我想大家常常为一些比较合适于自己的网页背景的图片而发愁吧,这个我想也是有的,因为这些图片不是太大就是太小,或者太乱,那么有没有办法让图片能合自己的主页的胃口呢?答案是肯定的.  想知道怎么来实现嘛,好吧,大家现在开始跟着我做,我保证大家一定一学就会.不过,我想在网上"成家"的朋友一般分为在网吧里"开业"(就像我一样,刚开始从他人的主页拉相关的代码来改的),还有就是在自己家里用DW或FP之类的专业软件制作好上传的,所以呢,我打算分开两步介

简单学习网页制作技术之CSS高级语法知识

css|高级|网页|语法 选择器的分组 你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明.用逗号将需要分组的选择器分开.在下面的例子中,我们对所有的标题元素进行了分组.所有的标题元素都是绿色的. h1,h2,h3,h4,h5,h6 {color: green} 继承及其问题 根据CSS,子元素从父元素继承属性.但是它并不总是按此方式工作.看看下面这条规则: body { font-family: Verdana, sans-serif; } 根据上面这条规则,站点的body元素将

学习网页制作:网站策划5大趋势

网站策划是成功网站平台建设成败的关键内容之一.在中国真正普及全职的网站策划人员严格讲是2002年,在之前更多是由技术性人才(软件项目经理.网站美工等)担任此项职位,随着中国互联网环境转晴,网站的高竞争使网站策划的地位突显.我们可以看到,许多真正处于领军性地位的网站平台90%具有一个特点--网站策划思路清晰合理,界面友好,网站营销作用强:因此专业的网站策划是未来网站成功的重要条件之一.  在未来,网站策划呈现以下5大趋势:  1.具备市场/销售意识,且掌握扎实技术的专业网站策划人才成抢手货 网站定

网页制作样式表CSS常用小技巧

css|技巧|网页|样式表 ul 标签在 Mozilla 中默认是有 padding 值的,而在 IE 中只有 margin 有值. 同一个的 class 选择符可以在一个文档中重复出现,而 id 选择符却只能出现一次:对一个标签同时使用 class和 id 进行 CSS 定义,如果定义有重复,id 选择符做的定义有效. 初学可能会碰到这样一个情况,同样一个标签的属性在 IE 设置成 A 显示是正常的,而在 Mozilla 里必须要设成 B 才能正常显示,或者两个倒过来.临时解决方法:选择符 {

学习网页制作基础入门教程(4)图象标签

教程|入门教程|网页 相关文章: 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 学习网页制作基础入门教程(3)字体标签 图象标签 1. 使用方法:<IMG SRC="/UploadPic/2007-7/200777152731585.gif" ALT="本站特约模特儿" ALIGN=RIGHT BORDER=0 HSPACE=2 VSPACE=2 HEIGHT=56 WIDTH=32> 2. 标签解释:目前常见的网页图形

学习网页制作基础入门教程(3)字体标签

教程|入门教程|网页 相关文章: 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 标题标签 1. 使用方法:<H1>标题內容</H1> 2. 标签解释:标题的大小一共有六种,两个标签一组,也就是从 <H1> 到 <H6> , <H1> 最大,<H6>最小.使用标题标签时,该标签会将字体变为粗体字,并会自成一行. 3. 使用范例: 原始碼 呈現結果 <H1>标题1</H1> 标题1

学习网页制作基础入门教程(7)表格标签

教程|入门教程|网页 相关文章: 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 学习网页制作基础入门教程(3)字体标签 学习网页制作基础入门教程(4)图象标签 学习网页制作基础入门教程(5)图象标签 学习网页制作基础入门教程(6)连接标签 表格单元格对齐位置设定 1. 首先我们来看一个最简单的表格: 原始代码 显示结果 <TABLE BORDER=1><TR><TD>1</TD></TR></TABLE&g

学习网页制作基础入门教程(5)背景标签

教程|入门教程|网页 相关文章: 学习网页制作基础入门教程(1)网页编写 学习网页制作基础入门教程(2)排版标签 学习网页制作基础入门教程(3)字体标签 学习网页制作基础入门教程(4)图象标签 背景标签 1. 使用方法:<BODY BGCOLOR="#ffffff" BACKGROUND="bg.jpg"> 2. 标签解释:这个标签其实应该老早就要讲了,毕竟它是制作网页不可或缺的基本要素之一,我们背景颜色或图片的设定以及连接字体的颜色,统统都放在 <

Dreamweaver CS3网页制作中的CSS布局规则

虽然webjx.com一直建议大家不用Dreamweaver可视化编辑的方式进行CSS网页布局,但依然很多朋友在使用.建立您可以使用DW的代码编辑器进行CSS代码的编写.今天向大家介绍Dreamweaver CS3网页制作中的CSS布局规则 . CSS文件的链接方式  ·附加链接:外部CSS文件 ·导入CSS:常用应用多个CSS文件时,将多个CSS导入一个CSS文件中  CSS规则定义有三种  ·类比如".RedText".".BlueText"和".Bi