首先CSS(级联样式表)一般来讲分3种:
外联样式表:CSS样式单独写在一个CSS文件中,HTML页面使用<link>标签引入这个文件;
内联样式表:CSS样式写在HTML页面的<head>标签内;
内嵌样式表:CSS样式直接写在HTML标签的style属性里。
然后说下在DW里怎样使用它们(以下以DW CS6版本为例,其他版本大同小异):
在DW里可通过直接引入、CSS样式面板和属性面板的方式来使用CSS。
如果是外联样式表,在DW界面中可通过直接拖动CSS文件到页面的方式直接将这个样式表引入到页面(注意要拖放到<head>标签内)。
在DW的CSS样式面板中可以方便的管理CSS样式,可新增、删除、修改标签的样式。
如需要为某个元素(例如一段文字)应用某个样式,可通过DW的属性面板里的“类”下拉列表来快速为其应用样式。
这属于"多重样式(Multiple Styles)"
多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。
一般情况下,优先级如下:
(外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style,例如:
<head><style type="text/css">
/* 内部样式 */
h3{color:green}
</style>
<!-- 外部样式 style.css -->
<link rel="stylesheet" type="text/css" href="style.css"/>
<!-- 设置:h3{color:blue} -->
</head>
<body>
<h3>测试!</h3>
</body>
在选择器的情况下:
如图:
解释:
1. 内联样式表的权值最高 1000;
2. ID 选择器的权值为 100
3. Class 类选择器的权值为 10
4. HTML 标签选择器的权值为 1
利用选择器的权值进行计算比较,示例如下:
<html><head>
<style type="text/css">
#redP p {
/* 权值 = 100+1=101 */
color:#F00 /* 红色 */
}
#redP .red em {
/* 权值 = 100+10+1=111 */
color:#00F /* 蓝色 */
}
#redP p span em {
/* 权值 = 100+1+1+1=103 */
color:#FF0/*黄色*/
}
</style>
</head>
<body>
<div id="redP">
<p class="red">red
<span><em>em red</em></span>
</p>
<p>red</p>
</div>
</body>
</html>
结果:<em> 标签内的数据显示为蓝色。
CSS 优先级法则:
A 选择器都有一个权值,权值越大越优先;
B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
D 继承的CSS 样式不如后来指定的CSS 样式;
E 在同一组属性设置中标有“!important”规则的优先级最大;示例如下:
<html><head>
<style type="text/css">
#redP p{
/*两个color属性在同一组*/
color:#00f !important /* 优先级最大 */
color:#f00
}
</style>
</head>
<body>
<div id="redP">
<p>color</p>
<p>color</p>
</div>
</body>
</html>
首先明确几个概念:静态定位:position:static
动态定位:position:relative
祖元素:任意包含该元素的元素
父元素:直接包含该元素的祖元素
同辈元素:拥有共同的父元素的元素
法则一:同辈元素定位方式相同时,且无z-index设置时,html靠后者居上
法则二:同辈元素同为动态定位时,且有z-index设置时,z-index值大者居上
三:同辈元素定位方式不同,动态定位居上
四:非同辈元素,任意一者及其祖元素不具备动态布局时,html靠后者居上
五:非同辈元素,任意一者或其祖元素拥有动态定位,同时各自向上寻找动态定位的祖元素,并分别从中拿出具备最高级别的祖元素或其本身进行比较
1. 子元素的z-index无论多大,父元素者居上
2. 父元素居下,子元素也可以居上
父元素居下,子元素也可以居上的情况,则是利用非同辈元素在祖元素具备动态布局时,其比较已与position:staic无关,而其祖元素却可通过html的位置来进行比较