对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。
ivid="box"><div>...</div></div>
如许,不论甚么扫瞄器,宽度都是150点了。
7.块元素居中对齐
假如想做个流动宽度的网页而且想让网页程度居中的话,一般是如许:
#content{width:700px;margin:0auto}
你会利用<divid="content">来围上一切元素。这很复杂,但不敷好,IE6之前版本会显现不出这类效果。改CSS以下:
body{text-align:center}#content{text-align:left;width:700px;margin:0auto}
这会把网页内容都居中,以是在Content中又到场了
text-align:left。
1.Block和inline元素对照
一切的HTML元素都属于block和inline之一。
block元素的特性是:
老是在新行上入手下手;
高度,行高和顶和底边距都可把持;
宽度缺省是它的容器的100%,除非设定一个宽度
<div>,<p>,<h1>,<form>,<ul>和<li>是块元素的例子。
相反地,inline元素的特性是:
和其他元素都在一行上;
高,行高及顶和底边距不成改动;
宽度就是它的笔墨或图片的宽度,不成改动。
<span>,<a>,<label>,<input>,<img>,<strong>和<em>是inline元素的例子。
用display:inline或display:block命令就能够改动一个元素的这一特征。甚么时分必要改动这一属性呢?
让一个inline元素重新行入手下手;
让块元素和其他元素坚持在一行上;
把持inline元素的宽度(对导航条出格有效);
把持inline元素的高度;
不必设定宽度便可为一个块元素设定与笔墨同宽的背景致。
2.再来一个box黑客办法
之以是有这么多box黑客办法,是由于IE在6之前对box的了解跟他人都纷歧样,它的宽度要包括边线宽和空缺。要想让IE5同等其他扫瞄器坚持分歧,能够用CSS的办法:
padding:2em;
border:1emsolidgreen;
width:20em;
width/**/:/**/14em;
第一个宽度一切扫瞄器都认得,但IE5.x不认得第2行的宽度设置,只由于那一行上有空缺的正文标记(何等蠢的语法剖析!),以是IE5.x就用20减失落一些空缺,而其他扫瞄器会用14这个宽度,由于它是第2行,会掩盖失落第1行。
3.页面的最小宽度
min-width是个十分便利的CSS命令,它能够指定元素最小也不克不及小于某个宽度,如许就可以包管排版一向准确。但IE不认得这个,而它实践上把width当作最小宽度来使。为了让这一命令在IE上也能用,能够把一个<div>放到<body>标签下,然后为div指定一个类:
<body>
<divclass="container“>
然后CSS如许计划:
#container
{
min-width:600px;
width:expression(document.body.clientWidth<600?"600px":"auto");
}
第一个min-width是一般的;但第2行的width利用了Javascript,这只要IE才认得,这也会让你的HTML文档不太正轨。它实践上经由过程Javascript的判别来完成最小宽度。
一样的举措也能够为IE完成最年夜宽度:
#container
{
min-width:600px;
max-width:1200px;
width:expression(document.body.clientWidth<600?"600px":document.body.clientWidth>1200?”1200px“:”auto";
}
4.IE与宽度和高度的成绩
IE不认得min-这个界说,但实践上它把一般的width和height看成有min的情形来使。如许成绩就年夜了,假如只用宽度和高度,一般的扫瞄器里这两个值就不会变,假如只用min-width和min-height的话,IE上面基本即是没有设置宽度和高度。
好比要设置背景图片,这个宽度是对照主要的。要办理这个成绩,能够如许:
.box
{
width:80px;
height:35px;
}
html>body.box
{
width:auto;
height:auto;
min-width:80px;
min-height:35px;
}
一切的扫瞄器都可使用第一个box设置,但IE不认得第2段设置,由于个中用到了子选择器命令。第2个设置更特别些,以是它会掩盖失落第1个设置。
5.字体变形命令
text-transform命令很有效,它有3个值:text-transform:uppercase,text-transform:lowercase和text-transform:capitalize。第1个会把笔墨酿成全年夜写,第2个酿成全小写,第3个酿成首字母年夜写。这对拼音笔墨十分有效,即便输出时有巨细写毛病,在网页上也看不到。
6.IE中图片笔墨消散的成绩
偶然会碰到笔墨或背景图俄然消散的成绩,革新一下又呈现了,这在接近漂泊元素时更简单产生(注:没见过)。此时,能够为消散的元素设定:position:relative,假如不可,再思索为这些元素指定一个宽度尝尝。
7.不成见笔墨
不管由于何种缘故原由但愿某些网页笔墨不在扫瞄器中显现,好比为了打印或为了小屏幕而让某些笔墨不显现,都能够用display:none。这十分复杂,但偶然对某些人这有点没用,他们能往失落这个把持,这时候就要用到:position:absolute;left:-9000px。
这实践上是把笔墨指定在页面之外显现。
8.为手持设备计划专门的CSS
也就是手机/PDA等小屏幕用户,能够专门计划一个CSS来让网页显现更恬逸些。为此,能够把扫瞄器窗口调剂到150点宽来看效果。指定专门的手持设备的CSS的语法是:
<linktype="text/css"rel="stylesheet"href="handheldstyle.css"media="handheld"/>
也能够浏览专门的手持设备可用性。
9.3D效果的按钮
之前要想制造带有3D效果,而且点击下往还会变更的按钮,就得用图片交换的办法,如今CSS就能够了:
a
{
display:block;
border:1pxsolid;
border-color:#aaa#000#000#aaa;
width:8em;
background:#fc0;
}
a:hover
{
position:relative;
top:1px;
left:1px;
border-color:#000#aaa#aaa#000;
}
至于效果,还能够本人调剂了。
10.在分歧页面上利用一样的导航代码
很多网页上都有导航菜单,当进进某页时,菜单上响应这一项就应当变灰,而其他页亮起来。一样平常要完成这个效果,必要写程序或专门为每页做计划,如今靠CSS就能够完成这个效果。
起首,在导航代码中利用CSS类:
<ul>
<li><ahref="#"class="home">Home</a></li>
<li><ahref="#"class="about">Aboutus</a></li>
<li><ahref="#"class="contact">Contactus</a></li>
</ul>
然后分离为每页的Body指定一个id,和下面类同名。如<bodyid="contact">。
然后计划CSS以下:
</p>#home.home,#about.about,#about.about
{
commandsforhighlightednavigationgohere
}
这里,当id设为home时,.home就会起感化,也就是class设为home的那一行导航条就会显现出特别效果来。其他页也是云云。
本文作者是:TrentonMoss。
宣布网站是:http://www.webcredible.co.uk
上一页123下一页
CSS非常容易编写。你可以象写html代码一样轻松地编写CSS。 |