书签 分享 收藏 举报 版权申诉 / 19

类型Cssweb站点设计手册.docx

  • 文档编号:4599549
  • 上传时间:2022-12-07
  • 格式:DOCX
  • 页数:19
  • 大小:48.07KB
,元素的id属性的值通常被称为元素的ID,就是ID选择符匹配的目标。

要匹配前面的标签,可以使用如下的选择符:

#example。

就是要匹配的ID值前面加上一个#号,而且中间没有空格。

#example的含义是:

id属性的值为example的任何元素。

如果想限制选择符只匹配带有这个ID的某种类型的元素,那可以在#号前加上这个元素的名称,如:

div#example(含义是id属性值为example的任何div元素)。

注意:

任何XHTML文档中都只能有一个唯一的ID值。

所以,ID值通常用来标示页面布局中的分区。

类选择符

类必须通过class属性为元素添加类。

如:

aboutus。

元素class属性中的单词通常简称为元素的类。

这些单词通过类选择符进行匹配。

如.first。

类选择符就是在要匹配的类值前面加上一个点(.),而且中间不能包含空格。

.first的含义是:

类属性的值中包含单词first的任何元素。

如果想限制只匹配类为first的p元素,如下:

p.first。

XHTML文档中定义的ID值是区分大小写的。

ID选择符与类选择符的区别:

1、必须在标记中指定class属性;2、可以将一个既定的类名应用到任意多个元素中,但ID却是唯一的。

后代选择符

后代选择符使用于含有多重元素结构的情况。

如含有父元素和子元素。

如:

divp{color:

red;}表示在表情div内的所有p标签内的内容全为红色。

Div与p之间的空格表示:

div的后代是p。

组合选择符

指的是在一条规则中使用一组以逗号分隔的选择符。

如:

ul,ol,dl{……}

查找样式的来源

设计者样式表->用户样式表->用户代理样式表.

针对性解决样式冲突

针对性——CSS中化解冲突的核心机制。

如果在一个文档中,包含两条绝对冲突的规则,那么针对性就是CSS判断应该赋予哪条规则优先权的依据。

li{background:

red;}

li{background:

green;},结果是绿色,因为绿色是最后一条最后声明。

如果将li{background:

red;}改成bodyli{background:

red;}结果是红色,因为针对性变高了。

根据CSS规则,一个元素选择符的针对性是0,0,0,1,一个类选择符的针对性是0,0,1,0,一个ID选择符的针对性是0,1,0,0。

当规则之间发生冲突时,选择符针对此较高的胜出,此时不再考虑规则的先后顺序。

li{background:

red;}改成li{background:

green;font-style:

italic;}后,颜色依然是红色,但字体为斜体了,因为针对性较高的规则中没有包含冲突的字体样式声明。

除了针对性之外,内联style的方式也可以解决冲突,但不如针对性好。

!

important声明

h1{background:

green;}此条语句不会是页面发生变化,但改成h1{background:

green!

important;}之后背景就变成了绿色。

说明样式表中的某个地方已经定义了其他颜色,!

important作为诊断工具,告诉我们他的存在,而且!

important会覆盖所有不重要(unimportant)的声明。

无论声明的选择符有多高的针对性。

解决办法是我们可以修改样式表(但不是个好办法,因为有许多网页依靠他)或者提高h1{background:

green;}的针对性。

在发布网页时,不应该把!

important留在页面中,他只能临时帮你修复问题。

继承

CSS的核心特性——继承。

指的是属性和值沿着文档树向下遗传的一种机制。

body{color:

orange;}

此语句会使所有文本变为橙色,但链接的颜色不会改变,因为继承只有在不存在对抗性属性时才会发生。

而且,继承的值没有针对性。

链接的颜色(蓝色)来自于浏览器的样式表,该值会覆盖任何继承的属性和值。

将body{color:

orange;}改成body{color:

orange!

important;},正常情况下!

important声明会覆盖其他任何样式规则,但其实页面没有发生任何变化,因为橙色值是继承来的,所以该值不仅失去了针对此,而且也失去了重要性。

第四章通过CSS影响页面布局

CSS盒模型简介

在CSS中,每一个元素都会在页面中生成一个盒子,这些盒子可能前后相接,也可能上下堆叠。

除了基本的宽度之外,每个元素盒子还有外边距、内边距和边框属性,通过操纵这些属性可以实现各种效果。

p{margin:

1em;}:

这里em是CSS中相对于段落中字体大小的一个度量单位。

1em的外边距意味着外边距的宽度与段落中的字体大小相等。

基于em的尺寸始终会与字体大小成比例变化。

如:

p{margin:

1em;font-size:

10px;}、p{margin:

1em;border:

1pxsolid#000;padding:

1em;}、p{margin:

1em;border:

1pxsolid#0F0;padding:

1em;width:

300px;height:

500px;}。

外边距扩展是对处于常规流中的元素有效。

所谓常规流,指的是这个元素本事是包含文本的普通元素,没有浮动、没有定位,也没有通过任何特殊的方式进行布局。

p{margin:

10px10px10pxauto;}在这条规则中,我们分别指定了上、右和下外边距的值,将左外边距的值设为auto。

顺序为:

p{margin:

上右下左;}。

外边距:

margin,内边距:

padding,边框:

border。

创建简单的浮动

所谓浮动指的是将一副图像或其他类型的元素,放到网页的一侧,让文本流对它进行绕排。

浮动的值包括:

right、left、none默认情况是none,不能向中间浮动。

浮动不能继承,所以可以应用给任何元素。

#contentimg.illus{float:

left;margin:

10px10px10px0;}在位属性指定0值时,不必再后面添加任何度量单位。

使用浮动进行页面布局

实践:

ex0403

#content{float:

left;width:

40em;}

#sidebar{float:

right;width:

17em;}此情况下,随着浏览器窗口的逐渐缩小,当他们靠得太近而如果不发生重叠就无法对齐时,那么在文档标记中处于第二位的浮动元素会下沉到第一个元素的下方。

解决办法:

使两个都向左侧浮动。

#content{float:

left;width:

40em;}

#sidebar{float:

left;width:

17em;}除了特殊情况,浮动的元素永远不会与页面中的其他元素发生重叠。

但窗口缩小时,侧边栏还是会下沉。

修复分栏下沉

使用内边距和负外边距来避免浮动元素下沉的问题。

首先,删除内容div的宽度。

#content{

float:

left;

width:

40em;

background:

#FFA;

}

删除后:

#content{

float:

left;

background:

#FFA;

}

修改成:

#content{

float:

left;

padding:

020em4em3em;

background:

#FFA;

}

然后将sidebar放大content的右侧内部。

使用如下方法:

#sidebar{

float:

right;

width:

17em;

margin:

09px4em-18em;

}

负外边距会欺骗浏览器,使它认为浮动的侧边栏没有宽度(其实为-1em=17+(-18)),并允许它与第一个浮动元素并肩排列。

CSS中有关浮动元素的算法规则:

如果不给浮动元素指定宽度,那他的大小将有页面上的内容和空间限制自动确定。

于是这个元素会为了填充浏览器的窗口大小而收缩或扩展。

正因如此,所以开始没有给内容div指定宽度,而指定适当的内边距(注意:

若内边距指定不合适,第一个浮动元素就会扩展并滑入第二个浮动元素的底层去,所以实际应用时,应计算一下多少合适)。

内边距的值不能小于零。

清除的实质

使用clear属性相对于网页中的浮动元素来移动常规流元素。

(把其他元素移动到浮动元素的下方。

#footer{clear:

left;}是想把这个元素(ID为footer)向下推,或者向下清除,使其位于左侧浮动元素的下方。

页脚的确下沉了,被清除到了左侧,处于任何左侧浮动元素的下方,但没有处于右侧浮动元素的下方。

因为左侧栏更长,所以应修改为#footer{clear:

right;},最好的方法是#footer{clear:

both;}。

位于任何浮动元素的下方。

Clear声明的原理:

实际上是清除的元素的上外边距能够被自动重写并设置,从而使该元素只有可见部分会显示在浮动元素的下方。

包含浮动元素

通过容器元素,可以为页面添加外边距和边框,而这些属性不能在纯背景上完成。

容器:

container

……

如果将

#container{background:

#FCA;}

#content,#sidebar{float:

none;margin:

0;}

改为

#container{background:

#FCA;}

/*

#content,#sidebar{float:

none;margin:

0;}

*/

此时容器会失去效果。

当容器div中不含常规流时,它就会把自己折叠起来,并且没有高度。

CSS中的注释为/*……*/。

解决办法:

使用浮动容器,因为浮动的元素会增大自己的尺寸以容纳其他浮动的元素。

#container{background:

#FCA;float:

left;},但这种方法有一个潜在的问题——浮动的容器元素的尺寸不受内容区域宽度的约束。

如下面这条#container{background:

#FCA;float:

left;border:

1pxsolidred;width:

100%;}会使内容超过浏览器的窗口。

将容器元素改为常规流。

修改为:

#container{background:

#FCA;border:

1pxsolidred;overflow:

auto;}加了overflow声明(用来控制当一个元素比实际的父元素宽时如何绘制该元素。

)使其能够包含浮动元素,去掉了float和width。

overflow:

auto含义是常规流元素通过增大尺寸来包含浮动元素。

显示元素

实验:

ex0407.html。

默认情况下,列表项目生成的布局盒子被称为块级盒子。

这种盒子与div、p等元素生成的盒子相同。

块级盒子会横跨整个页面,有上往下依次排列,他们不允许其他元素与他们并肩。

但是超链接a和span元素生成的盒子被称为行内盒子,在一行文本中,可以包含很多行内盒子,而且,在必要时,行内盒子可以折行(即跨行显示)。

#navlinksli{display:

inline;}

加上这样一条语句就可以了。

但有些浏览器仍会显示项目符号,我们需要把它去掉:

#navlinksli{display:

inline;list-style:

none;}

第五章设置前景和背景属性

添加前景与背景颜色

查看firefox浏览器的样式的方法:

工具—选项—内容—字体&颜色,单击颜色以查看浏览器的设置。

前景字体色修改:

p{color:

teal;}

h2{color:

orange;}

CSS中颜色定义:

关键字:

maroon、red、yellow、orange、olive、purple、blue、navy、green、lime、white、fuchsia、aqua、teal、black、silver、gray。

十六进制值:

#RRGGBB。

DecimalRGB到percentRGB之间的转换:

RGB(A,B,C)->RGB(A/255,B/255,C/255)。

如:

p{color:

teal;}

h2{color:

orange;border-bottom:

1pxsolid;border-top-width:

3px;}

body{background-color:

#e3edc2;}

#navlinks{background:

yellow;}

#masthead{background-color:

green;}

#sidebar{background-color:

rgb(23%,24%,18%);}

#sidebarh3{background:

rgb(155,150,202);}

添加背景图像

初始状态:

#content{

background-color:

rgb(85%,85%,85%);

}

添加背景图像:

background-image:

url(images/curl-gray.gif);这是一个相对url,指向网站中的资源,而绝对url指向外部资源。

重复背景图像

使用background-repeat属性。

在CSS中,可以让图像水平(也称X轴)重复和垂直(Y轴)重复,或者不重复(no-repeat)。

如:

#content{

/*background-color:

rgb(85%,85%,85%);*/

background-image:

url(images/curl-gray.gif);

background-repeat:

repeat-x;

}

定位背景图像

使用属性background-position,其值有top、bottom、left、right和center(用于指定水平和垂直位置)。

如果background-position属性中只指定一个关键字值,浏览器会认为没有提供那个关键字值是center。

此声明中的关键字次序并不重要,如background-position:

rightbottom;和background-position:

bottomright;效果一样。

还可以使用百分比,如:

background-position:

50%0;但此时顺序是很重要的,必须首先指定水平位置,然后是垂直位置。

此外,如果我们只提供一个百分比值,那浏览器会假设第二个值,也就是垂直位置上的值,是50%。

最后,如果想把图像绝对定位在页面上,不论浏览器窗口尺寸多大都不移动的情形,可以使用像素定位。

如:

background-position:

500px50px;

在定位背景是时如果有需要,还可以组合不同类型的定位。

如:

background-position:

75%50px;

简写背景声明

如:

background:

rgb(85%,85%,85%)url(images/curl-gray.gif)no-repeat75%50px;但要注意不能将定位(75%50px)两个值拆开。

第六章排版属性

术语:

行间距(leading)、缩排(kerning)、衬线(serif)、花体(swash)、cursive(草体)。

修改行高

line-height属性。

文本行之间的垂直距离。

例:

p{line-height:

3;}这个3不带任何单位,我们称为倍数值。

此计算方法为:

行高等于元素的字体大小乘以3。

不推荐使用长度单位,当用户扩大字体时,如果是固定行高容易出现文字重叠的现象。

比较使用这两者的区别:

body{line-height:

1.5;}此情况下,body元素的后代会按照自己的字体大小来计算具体的行高。

body{line-height:

1.5em;}此情况下,body元素的后代都会统一继承它所产生的行高,而不是根据自己字体大小计算。

此类也会产生字体拥挤情况(类似于使用像素值)。

所以,推荐使用倍数值。

使用字体系列

为了使网页字体显示效果较好,我们应该为浏览器提供一个以逗号分隔的字体列表。

浏览器会逐个查找每种字体,直至发现他能够显示的字体系列为止。

通过这种方式,我们可以选择一些外形类似的字体,以保证页面在不同的浏览器之间效果趋于一致。

如:

h1,h2,h3,h4{font-family:

Verdana,Geneva,sans-serif;}

#sidebar{font-family:

"CourierNew",Courier,monospace;}

注意第二行的CourierNew加了引号,因为当一个字体的名称有两个单词时,要用单或双引号引起来,以便浏览器将其看成一个值。

此外,有必要为我们的浏览器指定一种通用字体系列,作为在用户计算机中不包含我们指定的任何一种字体的情况的保障。

通用字体系列

Sans-serif

Arial,verdana,Tahoma

Serif

Timesnewroman,Garamond,georgia

Fantasy

Critter,cottonwood

Cursive

Adobepoetica,zapf-chancery

Monospace

Couriernew,courier,prestige

修改字形和粗细

掌握三个属性:

font-style,font-weight,font-variant。

如:

h1,h2,h3,h4{font-variant:

small-caps;}

p{

font-style:

italic;

font-weight:

bolder;

font-family:

Arial,Helvetica,sans-serif;

font-variant:

small-caps;

}

改变字体大小

三种方法:

#contenth2{font-size:

150%;}百分比

#contenth1{font-size:

2em;}相对单位em

p{font-size:

small;}关键字值

具体属性值参考附录A:

CSS2属性。

如何解决嵌套列表字体大小变化:

首先,设置ul{font-size:

smaller;}为防止其后代更小,可以编写:

ulul{font-size:

1em;},这样其后代就会与父元素大

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
Css web站点设计手册 web 站点 设计 手册
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Cssweb站点设计手册.docx
链接地址:https://www.bdocx.com/doc/4599549.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开