重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CSS是Cascading style Sheets的简称,中文译作“层叠样式表单”,我把它叫作“层叠样式表”,我感到这样顺口一
网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站设计,高端网页制作,对格栅板等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站营销优化,H5建站,响应式网站。
点,没别的意思。实际上它是一组样式。你可能对CSS这个名词比较陌生,实际上无论你用Internet Explorer还是
Netscape Navigator在网上冲浪,几乎随时都在与CSS打交道,在网上没有使用过CSS的网页可能不好找。不管你用什么工
具软件制作网页,都有在有意无意地使用CSS。用好CSS能使你的网页更加简炼,为什么同样内容的网页,有的人做出来有
几十KB,而高手做出来只有十几KB,CSS在其中的作用是不言而喻的。我把我在使用CSS中的一些小经验以及一些网友来信
提问的问题整理出来,供诸位参考。
1、CSS在网页制作中一般有三种方式的用法,那么具体在使用时该采用哪种用法?
当有多个网页要用到的CSS,采用外连CSS文件的方式,这样网页的代码大大减少,修改起来非常方便;只在单个网页
中使用的CSS,采用文档头部方式;只有在一个网页一、两个地方才用到的CSS,采用行内插入方式。
2、CSS的三种用法在一个网页中要以混用吗?
三种用法可以混用,且不会造成混乱。这就是它为什么称之为“层叠样式表”的原因,浏览器在显示网页时是这样处
理的:先检查有没有行内插入式CSS,有就执行了,针对本句的其它CSS就不去管它了;其次检查头部方式的CSS,有就执行
了;在前两者都没有的情况下再检查外连文件方式的CSS。因此可看出,三种CSS的执行优先级是:行内插入式、头部方
式、外连文件方式。
3、在Dreamweaver3中如何使外部文件式CSS?
在Dreamweaver3中使用外连文件式CSS并没有特殊要求,同样是用记事本创建一个*.css文件,在网页的head与
/head之间加上一句这样的代码:link rel="stylesheet" href="在这里填上你的CSS文件地址(相对路径+文件
名)" type="text/css" 就行了。
4、如何用Dreamweaver3快速创建CSS外连式文件?
对于一个初接触CSS的网页设计人员来讲,要用记事之类的编辑器,去创建一个CSS外连式文件是相当困难的。由于
Dreamweaver3对CSS支持的很好,用它来帮助就轻松多了。具体可以这样操作:
1)先在纸上写好在网站的网页中可能要用到的格名称,然后在Dreamweaver3的编辑窗中调出CSS面板,一个一个地定
义,并在一个空白页上适当地写一点相关内容,边定义边试用,效果不满意,立即修改;
2)全部定义好后,再用记事本创建一个空的CSS外连式文件,把在head与/head之间的那段定义好的CSS复制
到CSS文件中去,就大功告成了。整个过程就是点鼠标,方便吧?
5、在Dreamweaver3中采用行内插入式CSS要手动写代码吗?
不用!先用CSS面板定义好要用的CSS,然后,在要插入CSS的标记插入:style="",再把你刚才定义的CSS从head
后面拖到这个双引号中来,把花括号以外的部分删去就行了。
6、在方档头部方式和外连文件方式的CSS中都有“!--”和“--”,好象没什么用,不要可以吗?
这一对东东的作用是为了不引起低版本浏览器的错误。如果某个执行此页面的浏览器不支持CSS,它将忽略其中的内
容。虽然现在使用不支持CSS浏览器的人已很少了,由于互联网上几乎什么可能都会发生,所以还是留着为妙。
7、如何给一部分文字加背景色?
给文字加上不同颜色,在DW3中只要在属性面板上选取文字的颜色就行了,非常方便,但要给部分文字加不同的背景色
却没有相应的功能,我们可以先做一个定义背景色的CSS(如:bgstyle),在DW3中点几下鼠就完成了。如一个定义淡黄色
背景的CSS是这样的:
style type="text/css"
!--
.bgstyle { background: #FFFFCC}
--
/style
在要用时选取那段文字,再在CSS面板上点一下“bgstyle”就行了。
8、如何给部分文字加背景图像?
与加背景色操作类似,中是在背景在选择加载图象就是了,一个定义好的加背景图象的CSS例子的代码是这样的:
style type="text/css"
!--
.imgbgstyle { background-image: url(/logo.gif)}
--
/style
在要用时选取那段文字,再在CSS面板上点一下“imgbgstyle”就行了。
9、如何使页面的背景在文字“滚动”时背景图案静止不动?
要使背景图案不随文字“滚动”的CSS是这样的:
style type="text/css"
!--
BODY { background: purple url(/bg.jpg);
background-repeat:repeat-y;
background-attachment:fixed
}
--
/style
10、如何定义字间距?
在DW3中CSS的属性定义对话框(style Definition for .style1)的“Block”上的“letter spaceing”属性定义的就
是字间距,它指的是每一个字符之间的额外间距,经长度为单位,正负值均可,当取负值时产生字符挤在一起的效果。下
面代码是一个定义好的字间距CSS例子:
style type="text/css"
!--
.style1 { letter-spacing: 3px}
--
/style
11、如何给文字加上划线、下划线、删除线和闪烁?
在DW3中CSS的属性定义对话框(style Definition for .style1)的“Type”上的“decoration”属性定义的就是这些
内容,要注意的是闪烁属性有些版本的浏览器不支持,少用为好。下面是一个定义好上述效果的CSS例子:
style type="text/css"
!--
.style1 { text-decoration: underline overline line-through blink}
--
/style
其中: “underline”是定义下划线;“overline ”是定义上划线;“ line-through”定义的是删除线;“blink”
定义的是文字闪烁。
12、如何使网页具有“首行缩进”功能?
由于DW3输入空格不方便,利用“首行缩进”将弥补这个不足。在DW3中CSS的属性定义对话框(style Definition
for .style1)的“Block”上的“text-indent”属性定义的就是“首行缩进”,所谓“首行”是指每段内容的第一行,也
就是直接按回车键就形成了一个新的段落。缩进最好以“em”(字符)为单位,比如:汉字编排要求每段开始缩进两个汉
字,设置好的CSS如下所示:
style type="text/css"
!--
.style1 { text-indent: 2em}
--
/style
在DW3要注意:在DW3中CSS的属性定义对话框(style Definition for .style1)的“Block”上的“text-indent”右
面的缩进单位选择框中“ems”指的就是“em”。
13、在用表格进行排版时,能使某一方向上的内容离开表格线一点吗?
可以!在DW3中CSS的属性定义对话框(style Definition for .style1)的“Box”上的“margin”定义的就是内容离
开边缘的距离,分别可定义四个方向:“top”“bottom”“left”“right”。下面就是定义在左边离开“10px”的CSS例
子代码:
style type="text/css"
!--
.style1 { margin: 0px 0px 0px 10px}
--
/style
14、能给某部分内容加边框吗?
用CSS可以给某部分内容加边框,在DW3中CSS的属性定义对话框(style Definition for .style1)的“Border”定义
的就是边框线,“top”“bottom”“left”“right”四边可分别定义线的粗细和颜色,这些定义好后不要忘记在下面的
“style”中定义线型,否则将看不边框线,因为默认的线型是“none”。下面是一个定义了上边框为:蓝色细线;左边框
为:绿色中粗线的CSS例子:
style type="text/css"
!--
.style1 { border: solid; border-width: thin 0px 0px medium; border-color: #0000FF black black #00FF00}
--
你说的是CSS外部样式引用
可以在head之间加上
link rel="stylesheet" href="这个是你的CSS样式地址和CSS文件" type="text/css" /
(使用DW写上面那句话的时候,它会有自动提示和连接引导)
或者直接使用DW来连接外部样式表,名字叫CSS样式,或者找窗口-CSS样式
位置在软件界面的右上角,有个铁链一样的小图标
它会自动引导你连接CSS样式,还有修改添加功能
我在线,有疑问我再回你。
TopStyle
TopStyle是一款Cascading Style Sheets (CSS) 的编辑软件,可以帮助我们编写符合包括CSS2标准在内的样式表。TopStyle具有CSS定义选择功能,让你可以选取特定的浏览器或CSS阶层、内建的样式表检查器、内部的预览能力、以颜色标示的编辑器,以及样式预览。TopStyle是第一款可以使用Mozilla等Gecko浏览器的程序。你可以用内嵌的Internet Explorer和Mozilla Gecko来预览你的式样表,或者分开使用。此外,TopStyle的设计对系统十分友善。它不会安装任何DLL、ActiveX controls或其它系统文件。功能相当多,附有CSS码检查功能,减少写错的机会。尤其是它的HELP文件中详细的CSS指令介绍,很适于用作参考文件与初次接触CSS的人做为学习使用。如果你想学习web标准,制作CSS需要一个好软件,TopStyle是非常棒的选择。
下载地址:
Dreamweaver
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。DREAMWEAVER、FLASH以及在EAMWEAVER之后推出的针对专业网页图像设计的FIREWORKS,三者被MACROMEDIA公司称为DREAMTEAM(梦之队),足见市场的反响和MACROMEDIA公司对它们的自信。
下载地址:
实际应用,更多的使用italic属性值
实际应用中, 行高的数值通过设计图获取, 量取数值时需要使用一些辅助软件工具
选中文字工具,属性选中:不消除锯齿
字体、 字号、 行高、 加粗、 斜体 都是font综合属性的单一属性。
font属性五个单一属性的值可以进行合写, 属性值可以有2到多个, 值之间用空格进行分隔。
font进行综合书写时, 必须有字号和字体参与, 而且必须字号在前, 字体在后, 不能颠倒顺序。
font属性经常对字体、 字号、 行高进行合写, 书写顺序必须是字号、 行高、 字体, 字号和行高之间必须用/进行分隔
如果font属性需要设置加粗和斜体, 两个属性值只能写在最前面, 两个值之间可以互换位置。 后面的字号、 行高、 字体不能更改位置
作用:设置文本整体是否有线条的装饰效果
作用:设置段落首行是否进行缩进
实际应用中,常用em
属性值区分正负, 正数表示向右缩进, 负数表示向左缩进
浏览器控制台中的盒模型图
作用: 设置可以添加元素内容的区域的宽度。
作用: 设置可以添加元素内容的区域的高度。
如果一个元素不添加 height 属性, 默认属性值为auto, 浏览器会自动计算出实际高度, 也就是是内部元素内容自动撑开的高度。 元素的高度自适应内部内容的高度。
书写四个方向单一属性时, 一般是按照顺时针规律书写: 上、 右、 下、 左
设置四个属性值, 分配方向上、 右、 下、 左。
设置三个值分配给上、 左右、 下。
设置两个值, 分配给上下、 左右 。
设置属性值只有一个, 四边的值相同。
作用: 设置边框的颜色。
属性值: 颜色名或颜色值, 整体类似 padding 综合属性写法。
每个单一属性都必须与复合属性 border 一致, 设置三个属性值。
书写四个方向单一属性时, 一般是按照顺时针规律书写: 上、 右、 下、 左
设置四个属性值, 分配方向上、 右、 下、 左。
设置三个值分配给上、 左右、 下。
设置两个值, 分配给上下、 左右 。
设置属性值只有一个, 四边的值相同。
给 body 标签设置整体文字样式, 让大部分后代标签全部去继承
设计图中盒子高度占位是固定的, 后面同级元素在高度下面加载。多余内容会溢出盒子。
设置了高度的盒子, 如果内部元素的加载高度超过父级, 会溢出。可以通过一个溢出的属性 overflow, 进行溢出部分内容的显示效果设置。
要求盒子高度必须自适应内部内容的高度。
或者设置height的属性值是自动的。
一个元素内部嵌套的子元素, 在父元素中居中。
针对类似 div 样式上必须独占一行的盒子, 如果子盒子宽度低于父盒子宽度, 可以设置子盒子的 margin 值, 水平方向的值都设置为 auto。
原因: auto 只在水平方向有作用, 水平方向的 margin 如果设置为 auto, 边距会自动无限增大, 直到撑满整个父元素除了子元素宽度之外剩余的区域, 如果两个水平方向都是 auto, 两边都要无限大, 只能达到一个平衡, 两边距离相同, 导致盒子居中。
一般情况下, 一个父元素内部可以放一个或多个子元素, 而且多个子元素要排成一行显示, 必须保证父元素的宽度一定要足够(不考虑溢出情况) , 需要遵循一个设置尺寸的规律: 所有子元素的宽度加在一起不能大于父元素的宽度 width。父元素的width ≥ 所有子元素width + padding + border + margin
如果不满足条件: 要么多余的子元素掉下来不能在一排, 要么溢出父元素
父子盒模型中, 只有一个子元素, 且子元素是类似 div 标签必须占一行的。不设置子元素的 width 属性, 子元素的 width 属性值会自动加载父级元素的 width。如果同时设置了子元素水平方向的 padding 和 border 、 margin, 不需要手动去进行内减, 子元素的 width 会自动收缩尺寸。
子元素所有的水平方向的位置所有属性的加和等于父元素的 width 。
在垂直方向如果有两个元素的外边距有相遇的, 浏览器中加载的真正的外边距不是两个间距的加和, 而是两个边距中值较大的, 边距值小的塌陷到了边距值大的值内部。
上面的元素有下边距, 下面的元素有上边距, 两个边距相遇, 真正的盒子间距离是较大的那个值
父子元素之间也会出现 margin 塌陷, 父元素和子元素都设置了同方向的margin-top 值, 两个属性之间没有其他的内容进行隔离, 导致两个属性相遇, 发生margin 塌陷。
本身父元素与上一个元素的距离是0, 子元素如果设置了垂直方向的上边距, 会带着父级一起掉下来。
水平方向的 margin 没有塌陷现象。
在标准流中, 大部分元素是区分等级的, 习惯将元素划分为几种常见的加载级别:块级元素、 行内元素、 行内块元素等。
大部分容器级标签包括p标签都是块级元素, 比如 div 、 h1 等。
大部分的文本级标签, 比如 span、 a、 b 等。
比如 img、 input 等。
可以通过 display 属性更改一个标签的显示模式。
属性值: 元素根据属性值不同, 可以加载对应元素等级的显示模式的特点。
display 属性更改的显示模式并没有改变标准流本质性质, 页面还是只能从上往下加载, 存在空白折叠现象等微观性质。 要想实现更多的界面布局效果需要脱离标准流的限制。
标签元素脱离标准流的方法包括: 浮动、 绝对定位、 固定定位。
margin 塌陷现象出现在标准流中的, 浮动元素已经脱离标准流, 不再具有 margin塌陷现象。
与前面压盖效果结构类似, 同级元素中前面的元素浮动, 后面的元素不浮动, 不浮动的元素内部还有一些文字, 浮动的蓝盒子会压盖住粉盒子的一部分, 但是文字内容不会被盖住, 粉盒子中的文字会让开蓝盒子位置, 围绕它进行加载。这种效果称为字围现象。
可以利用字围现象制作一些特殊的图文混排布局效果
给标准流的父元素强制给一个合适的高度
作用: 清除标签元素自身受到的前面的浮动元素的影响。
给标准流父元素添加 clear 属性, 父元素不受前面浮动影响, 不会再占有浮动让出的位置。
给内部有浮动子元素的父元素添加溢出隐藏 overflow: hidden; 属性, 可以解决浮动的所有问题。
父元素有了高度后, 可以管理住内部所有的浮动元素, 不会延伸到后面标签中影响贴边。
a 标签可以根据用户行为不同, 划分为四种状态, 通过a 标签的伪类可以将四种状态选中设置为不同的样式效果, 用户触发对应行为, 就可以加载对应的样式。
一般会将访问前和访问后状态设置为一样的效果, 保证了页面的统一性, 可以选择性的设置鼠标移上和鼠标点击状态。
更加常用的一种设置方式如下:
a 标签任何普通的选择器, 可以同时选中四种状态, 可以将四种状态设置为相同的样式, 属性可以设置所有的 a 默认显示样式的属性, 包括盒模型、 文字等。
a:hover 伪类选择器: 设置鼠标移上时不一样的样式属性。
属性值都是使用代表方向的单词进行书写。
使用像素值作为背景定位的属性值。
百分比表示法使用百分比数字作为属性值。
100%代表的数值:
background 属性可以将五个单一属性的值进行合写。
属性值: 可以有 1-5 个属性值, 值之间用空格进行分隔, 背景定位的两个属性值算作一个属性值, 不能被分开也不能颠倒顺序。 五个属性值之间可以互换位置。
在h1 标签是权重最高的标签, 一般会在内部书写最重要的内容, 比如 logo 图片、 最大的标题等。
另外 h1 内部的文字, 可以帮助提高 SEO 搜索排名。
在设置的是 logo 图片时, 如果使用插入图, 就不能书写搜索关键字。
如果想解决 SEO 问题, 可以将 HTML 结构中, 插入图换成搜索关键字, 然后使用 css 添加背景图给 a 标签或 h1 标签。
在一个盒子中有背景图部分, 而且有文字内容, 文字会让开背景图区域进行加载,
背景区域应该使用 padding 挤出位置。
四个方向的 padding 都可能用于添加背景图。
当用户访问一个网站时, 需要向服务器发送请求, 网页上的每张图像都要经过一次求才能展现给用户。
然而, 一个网页中往往会应用很多小的背景图像作为修饰, 当网页中的图像过多时,服务器就会频繁地接受和发送请求, 这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数, 提高页面的加载速度, 出现了 CSS精灵技术(也称 CSS Sprites、 CSS 雪碧) 。
CSS 精灵是一种处理网页背景图像的方式。
它将一个页面涉及到的所有零星背景图像都集中到一张大图中去, 然后将大图应用于网页, 这样, 当用户访问该页面时, 只需向服务发送一次请求, 网页中的背景图像即可全部展示出来。
通常情况下, 这个由很多小的背景图像合成的大图被称为精灵图。
CSS3 支持背景半透明的写法, 颜色值增加了一种 rgba 模式。
rgba 模式 : 在 rgb 基础上增加了一个不透明度的设置, 不透明度 alpha 取值范围在0-1 之间, 0 表示完全透明, 1 表示完全不透明, 0.5 表示半透明。
书写方式: rgba(红色, 绿色, 蓝色, 不透明度)
注意: 背景半透明是指盒子背景半透明, 盒子里面的内容不受影响。
通过 background-size 设置背景图片的尺寸, 就像我们设置 img 的尺寸一样, 在移动 Web 开发中做屏幕适配应用非常广泛。
CSS3 中规定, 一个盒子上, 可以添加多个背景图片。
background-image 的属性值书写时, 以逗号分隔多背景的 URL路径地址。
注意: 背景加载时, 先写的背景压盖后写的背景图片。
属性名: position。
作用: 设置定位的元素, 它需要根据某个参考元素发生位置的偏移。
定位的元素要想发生位置的移动, 必须搭配偏移量属性进行设置。
水平方向: left、 right。
垂直方向: top、 bottom。
属性值: 常用 px 为单位的数值, 或者百分比。
子绝父相、 子绝父绝、 子绝父固
属性值: absolute, 绝对的意思。
参考元素: 参考的是距离最近的有定位的祖先元素, 如果祖先都没有定位, 参考body。必须搭配偏移量属性才会发生位置移动。
性质: 绝对定位的元素脱离标准流, 会让出标准流位置, 可以设置宽高, 也可以随时定义位置, 绝对定位的元素不设置宽高只能被内容撑开。
注意1: 绝对定位的参考元素是不固定的, 不同的参考元素以及不同的偏移量组合,会导致绝对定位元素的参考点不同, 具体位移效果不同。
注意2: 在绝对定位中, 由于参考点不同, left 正值不再等价于 right 的负值。
以 body 为参考元素时, 参考点的确定与偏移量方向有关
第一, 如果有 top 参与的定位, 参考点就是 body 页面的左上顶点和右上顶点。 自身的对比点是盒子的所有盒模型属性最外面的左上角或右上角。
第二, 如果有 bottom 参与的绝对定位, 参考点是 body 页面首屏的左下顶点或右下顶点。 对比点是盒子的所有盒模型属性最外面的左下角或右下角。
实际应用中, 如果以 body 为参考元素, 不同分辨率的浏览器中, 绝对定位的元素位置是不同的, 所以较少使用 body 作为参考元素。
祖先级为参考元素
如果祖先级中有定位的元素, 就不会去参考 body 。
参考元素: 参考的是祖先元素中有任意定位的, 在 HTML 结构中距离目标最近的祖先。
如果绝对定位的参考元素是某个祖先级, 参考点是盒子 border 以内的四个顶点, 组合方向决定了参考点。 绝对定位的元素只关心对比点和参考点之间的距离, 会忽视参考元素的 padding 区域。
所有的定位类型都可以实现压盖效果。
由于绝对定位的元素脱标, 不占标准流位置, 压盖效果更彻底, 实际工作中, 常见的是 绝对定位制作压盖。
定位的元素不区分定位类型, 都会去压盖标准流或浮动的元素。
如果都是定位的元素, 在 HTML 中 后写定位压盖先写的定位 。
更改定位的元素的压盖顺序, 设置一个 z-index 属性。
属性值: 数字。
CSS的定义是由三个部分构成:
选择符(selector),属性(properties)和属性的取值(value)。
ccs 语法: selector {property: value} (选择符 {属性:值})
说明:
·选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:
例子:body {color: black},此例的效果是使页面中的文字为黑色。
·如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:
例子:p {font-family: "sans serif"} (定义段落字体为sans serif)
· 如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:
例子:p {text-align: center; color: red} (段落居中排列;并且段落中的文字为红色)
2. 选择符组
你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:
h1, h2, h3, h4, h5, h6 { color: green } (这个组里包括所有的标题元素,每个标题元素的文字都为绿色)
p, table{ font-size: 9pt } (段落和表格里的文字尺寸为9号字)
效果完全等效于:
p { font-size: 9pt }
table { font-size: 9pt }
3. 类选择符
用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:
p.right {text-align: right}
p.center {text-align: center}
然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:
这个段落向右对齐的
这个段落是居中排列的
类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:
.center {text-align: center} (定义.center的类选择符为文字居中排列)
这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:
h1 class="center"这个标题是居中排列的/h1
这个段落也是居中排列的
注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。
4. ID选择符
在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。
ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代,ID只能在一个页面中出现一次,而class可以多次运用.
ccs 这个段落向右对齐
定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:
#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
} (字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明)
下面这个例子,ID属性只匹配id="intro"的段落元素:
p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。
5. 包含选择符
可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:
table a
{
font-size: 12px
}
在表格内的链接改变了样式,文字大小为12像素,而表格外的链接的文字仍为默认大小。
6. 样式表的层叠性
层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:
CSS div { color: red; font-size:9pt}
……
这个段落的文字为红色9号字
(P元素里的内容会继承DIV定义的属性)
注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。
另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:
div { color: red; font-size:9pt}
p {color: blue}
……
这个段落的文字为蓝色9号字
我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。
不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:
p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。
7. 注释:/* ... */
你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*" 开头,以"*/" 结尾,如下:
/* 定义段落样式表 */
p
{
text-align: center; /* 文本居中排列 */
ccs color: black; /* 文字为黑色 */
font-family: arial /* 字体为arial */
}
css可以用任何写文本的工具进行开发,如文本工具,dreamweaver开发
css也是一种语言,这种语言要和html或者xhtml语言相结合才起作用,
css简单来说就是用来美化网页用的,用css语言来控制网页的外观
举个例子
xhtml部分:
ul
li主页/li
li留言/li
li论坛/li
/ul
此时在页面上的表达形式是一个竖向列表,这样不够美观,
可以css来改善这个列表为一个横向导航条和超链接
css部分:
ul{list-style:none;margin:0px;padding:0px}
ul li{margin:0px;padding:0px;float:left;}
ul li a{display:block;width:100px;height:30px;background:#efefef;color:#333;text-decoration:none;text-align:center}
ul li a:hover{background:#333;color:#fff;}
添加上css后,这个列表变成横向的导航条了,超级链接是淡色背景,灰色字体,没有下划线,高度是30像素,宽度是100像素
当我们鼠标经过这个超级链接时候,变成灰色背景,白色字体
在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。
它的作用可以达到:
(1)在几乎所有的浏览器上都可以使用。
(2)以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。
(3)使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。
(4)你可以轻松地控制页面的布局 。
(5)你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。
想一想,没有使用CSS前我们是如何控制字体的颜色和大小以及所使用的字体的?我们一般使用HTML标签来实现,代码非常烦琐。
很难想象,如果在一个页面里需要频繁地更替字体的颜色大小,最终生成的HTML代码的长度一定臃肿不堪。
说实话,CSS就是为了简化这样的工作诞生的,当然其功能决非这么简单。
CSS是通过对页面结构的风格控制的思想,控制整个页面的风格的。
式样单放在页面中,通过浏览器的解释执行,是完全的文本,任何懂得HTML的人都可以掌握,非常的容易。甚至对一些非常老的浏览器,也不会产生页面混乱的现象。
CSS的一大优点是它的图片传输速度比较完全的HTML网页要快一点。
关于CSS的参考资料,网上有很多讨论CSS的社区,但是要系统学习CSS,选择一本好书还是非常有必要的,推荐阅读CSS三剑客之一《CSS实战手册》
CSS:
Chinese,Surface-to-Surface
中国面对面导弹 简称CSS-N
CSS具有两面性。就像它在格式化文本、导航栏、图片以及其他小小的网页方面很棒一样,当你准备好布局完整的网页时,它真正可怕的一面也展现出来了。
CSS布局有两种风格——绝对定位和浮动。绝对定位让你把一个元素以像素级的精确性定位在网页的任何位置——或者理论上是这样。这种整体控制令人兴奋,就如你将在下一章中所看到的,但是实际上很难实现。这就是大量网页使用基于浮动的布局的原因,也是本章的主题。
详细讲解CSS规范化命名的三种通用命名规则
骆驼式命名法:
正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
printEmployeePaychecks();
print_employee_paychecks();
第一个函数名使用了骆驼式命名法,函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法,函数名中的每一个逻辑断点都有一个下划线来标记。
骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得相当多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。
匈牙利命名法:
广泛应用于象Microsoft Windows这样的环境中。Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯- 西蒙尼(Charles Simonyi) 提出的。
匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量), 再指针,再简单数据类型,再其它。
例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
帕斯卡(pascal)命名法:
与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写,如:
DisplayInfo();
string UserName;
二者都是采用了帕斯卡命名法。在C#中,以帕斯卡命名法和骆驼命名法居多。
三种命名规则的小结:
MyData 就是一个帕斯卡命名的示例
而myData是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼
而iMyData是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途.
CSS样式解决了一个普遍的问题
HTML 标签原本被设计为用于定义文档内容。通过使用 h1、、 这样的标签,HTML 的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。而文档布局希望通过浏览器来完成,而不使用任何的格式化标签。
由于两种主要的浏览器(Netscape 和 Internet Explorer)不断地将新的 HTML 标签和属性(比如字体标签和颜色属性)添加到 HTML 规范中,创建文档内容清晰地独立于文档表现层的站点变得越来越困难。
为了解决这个问题,万维网联盟(W3C),这个非营利的标准化联盟,肩负起了 HTML 标准化的使命,并在 HTML 4.0 之外创造出样式(Style)。
所有的主流浏览器均支持层叠样式表。
[编辑本段]CSS设计网页的经验
相信对大家是有一些帮助与启发的。有些习惯显得尤为重要,今天与您分享六个CSS习惯。因为习惯其实是会变的,所以只能写“最近”的。这些习惯都跟技术无关,如果不遵守,也不会出错。但是我觉得良好的习惯会体现一个人的素质。
一、用class_name方式写类名。
以前喜欢用class-name写,不过好像两样也没什么差别。但我比较反对用className写类名,因为始终对浏览器大小写敏感的问题抱有怀疑态度。但是id我会写成驼峰式,理由见下一条。
二、样式都用class而不用id。
有三个理由,一,id不可以重复,所以用class的话,可以肆无忌惮的用无数次。二,id的优先级太高,若是写了一个#page_contenta {color:#f60},那你完蛋了,里面要改链接颜色,都必须加上#page_content才能越过这个优先级。三,id专门留给JS用,这样才符合表现与行为分离的原则。所以id我用驼峰式,也是为了体现这一点。
三、margin和padding,尽量省略最后一个值。
比如margin: 20px 10px 5px 10px; ,左右值是一样的,就应该省略掉最后一个值,写成margin: 20px 10px5px; 这样到时候要改左右间距,改一个就好,免得改漏了。其实这个问题虽然很细小,但是可以看得出对margin四个值省略规则的熟练程度。
四、按标准写CSS,再针对特定浏览器作hack。
比如,通常我们会遇到如下的写法:
.side_col {
float:left;
display: inline;
margin-left: 20px;
}
而我的写法会是:
.side_col {
float: left;
margin-left: 20px;
}
* .side_col {
_display:inline; /*hacked for IE 6*/
}
看明白了么?不应该把hack混在一起,也不应该用一种侥幸的心态,觉得float:left与display:inline写在一起没事。嗯,它们俩确实没事儿,但是其他的hack就不一定了。而且这里写display:inline纯粹就是为了解决IE6的bug,所以前面加上下划线,以明确的表达你的目的。
另外不要以为凡是hack都是为IE准备的。其实有些hack是针对其他浏览器的,比如FF。这就要求你对CSS标准的熟练掌握,能够自信的判断哪些渲染是遵守标准,哪些违反标准的。
此外,我喜欢在hack前面加上星号,其实这纯粹是个人习惯了。可能过段时间我就不这么用了,呵呵。
五、记得加空格。
.class_name { property: value; }。我个人觉得合理的空格是优秀代码的一个指标。按英文的习惯,标点后面都应该带空格(如果你写This is a pen.That’s apencil.句点后面不加空格, word里面会有错误提示)。所以既然CSS是外国人发明的,应该按他们的格式来写。类似的,在JS里var a= b + c;里面的空格也应该都要加。
六、适当的层叠(Cascading)或缩进以定义CSS的“作用域”。
啥叫“CSS的作用域”?其实并不是所有的样式都在所有的地方使用。有的样式只用在某一块里面,比如“导航栏”里的“搜索框”,可能应该写成:
.nav .search {}
而有时候用层叠会增加代码优先级,所以也可以用缩进来“象征性的”体现作用域。像这样:
.login_box {}
.forgot_pwd{}
缩进,是为了表示它们对应的标签具有父子关系。但这样只能起到一个提醒的作用。
七、颜色代码的所写
例如:
.top{ width:104px; height:96px; background:#FF0099; }
可以写成:
.top{ width:104px; height:96px; background:#F09; }
所写 代码必须是 AABBCC 形式的 缩写成 ABC。
这样写加快处理效率,又简单方便。