要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。
HTML页面中的元素就是通过CSS选择器进行控制的。
1.1 类别选择器
类选择器根据类名来选择
前面以”.”来标志,如:
.demoDiv{
color:#FF0000;
}
在HTML中,元素可以定义一个class的属性。
如:
<div class="demoDiv">
这个区域字体颜色为红色
</div>
同时,大家可以再定义一个元素:
<p class="demoDiv">
这个段落字体颜色为红色
</p>
最后,用浏览器浏览,大家可以发现所有class为demoDiv的元素都应用了这个样式。包括了页面中的div元素和p元素。
上例大家给两个元素都定义了class,但如果有很多个元素都会应用这个元素,那得一个个的定义元素,就会造成页面重复的代码太多,这种现象称为“多类症”。
大家可以改成这样来定义。
<div class="demoDiv">
<div>
这个区域字体颜色为红色
</div>
同时,大家可以再定义一个元素:
<p>
这个段落字体颜色为红色
</p>
</div>
这样,大家就只是定义了一个类,同时把样式应用到了所有的元素当中。
1.2 标签选择器
一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签
采用相应的CSS样式,(在大环境中你可能出于不同的位置,但是不管怎么样,你总
是穿着同一套衣服,这件衣服就是由标签选择器事先给你限定好的,不管走到哪里
都是这身衣服)比如,在style.css文件中对p标签样式的声明如下:
p{
font-size:12px;
background:#900;
color:090;
}
复制代码则页面中所有p标签的背景都是#900(红色),文字大小均是12px,颜色为#090(绿色)
,这在后期维护中,如果想改变整个网站中p标签背景的颜色,只需要修改
background属性就可以了,就这么容易!
1.3 ID选择器
根据元素ID来选择元素,具有唯一性。
前面以”#”号来标志,在样式里面可以这样定义:
#demoDiv{
color:#FF0000;
}
这里代表id为demoDiv的元素的设置它的字体颜色为红色。
大家在页面上定义一个元素把它的ID定义为demoDiv,如:
<div id="demoDiv">
这个区域字体颜色为红色
</div>
用浏览器浏览,大家可以看到因为区域内的颜色变成了红色
再定义一个区域
<div>
这个区域没有定义颜色
</div>
用浏览器浏览,与预期的一样,区域没有应用样式,所以区域中的字体颜色还是默认的颜色黑色。
1.4 后代选择器
后代选择器也称为包含选择器,用来选择特定元素或元素组的后代,后代选择器用两个常用选择器,中间加一个空格表示。其中前面的常用选择器选择父元素,后面的常用选择器选择子元素,样式最终会应用于子元素中。
如:
<style>
.father.child{
color:#0000CC;
}
</style>
<p class="father">
黑色
<label class="child">蓝色
<b>也是蓝色</b>
</label>
</p>
这里大家定义了所有class属性为father的元素下面的class属性为child的颜色为蓝色。
后代选择器是一种很有用的选择器,使用后代选择器可以更加精确的定位元素。
css 贝塞尔曲线,css 图片腐蚀,css上往下渐变,css怎么去掉上边距,css清除复选框,css ie8 图片边框,css 布局form
@ Css布局教程?
正好自己以前写过,奉上最简短的代码,效果已亲测,兼容IE7/8以及Chrome等现代浏览器,代码如下:
<!doctype html>
<html>
<head>
<meta charset=”utf-8″>
<title>div+css上中下布局</title>
<style>
html,body {height:100%; *overflow:hidden; /* 消除IE7下的横向滚动条 */}
body {margin:0; padding:0; font-size:30px; text-align:center; color:#fff;}
.top ,.nav ,.foot {width:100%; height:100px; position:absolute;}
.top {background:red; top:0;}
.nav {background:blue; top:100px; bottom:100px; height:auto;}
.foot {background:gray; bottom:0;}
</style>
</head>
<body>
<div class=”top”>偶是头部</div>
<div class=”nav”>这里已经自适应到底部</div>
<div class=”foot”>偶是底部</div>
</body>
</html>
注:IE6不支持,如想完美解决,请使用js动态获取页面高度,然后赋值给nav那个层。
@ CSS选择器权重如何计算?
很古老的话题了
id=100
class=10
tag(标签)=1
按照这个规律去计算,比如
#qietu div{}
100+1 = 101
.qietu .box{}
10+10=20
可以得出第一个的权重要比第二个要高。另外关于权重的扩展知识面,偶推荐了解下BEM命名规则,这个观念很好,可以从侧面杜绝权重问题的产生,还有一个就是提高权重的方法 !important;
@ css后面加上是什么意思?
可以看成是css的一个版本号,如果css改动过,担心浏览器本地css文件没有及时更新而导致页面没有出现相应效果时,就可以通过修改这个?后面的号码来达到使浏览器重新下载最新的css文档!