CSS引入方式 + CSS选择器
CSS的引入方式
一、CSS的简单介绍
1、现在的互联网前端分三层:
HTML:超文本标记语言。从语义的角度描述页面结构。
CSS:层叠样式表。从审美的角度负责页面样式。
JS:JavaScript 。从交互的角度描述页面行为
CSS:Cascading Style Sheet,层叠样式表。CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。css的最新版本是css3。
2、HTML的缺陷
(1)不能够适应多种设备
(2)要求浏览器必须智能化足够庞大
(3)数据和显示没有分开
(4)功能不够强大
3、CSS的优点
(1)使数据和显示分开;
(2)降低网络流量;
(3)使整个网站视觉效果一致;
(4) 使开发效率提高了(耦合性降低,一个人负责写html,一个人负责写css);
比如说,有一个样式需要在一百个页面上显示,如果是html来实现,那要写一百遍,现在有了css,只要写一遍。现在,html只提供数据和一些控件,完全交给css提供各种各样的样式。
二、CSS的引入方式
1、行内样式
<body> <!-- 行内样式 的优先级是最高最高的 --> <p style="color: red; font-size: 30px;">wusir</p> <span style="color: purple;">alex</span> </body>
2、内接样式
<head> <style type="text/css"> /*内接样式*/ /*选择器*/ span{ color: green; font-size: 30px; } </style> </head>
3、外接样式
<head> <!-- 外接样式 --> <link rel="stylesheet" href="./index.css"> </head>
优先级:
行内样式优先级最高, 内接样式和外接样式,谁在前面谁的优先级高.
!import > 行内
注意:
修改style时, css尽量用类名, js 尽量用 id
CSS选择器
作用:为选中的标签设置属性
一、基本选择器
1、标签选择器
选择的是"共性",不管标签嵌套多少层
标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 "共性" 而不是 ”特性“
示例:标签名:{ color:blue;}
2、id选择器
选择是的"特性",id是唯一的,未来与js有很大的关联
同一个页面中id不能重复,任何的标签都可以设置id,id命名规范,大小写严格区分,aa和AA是两个不一样的属性值。
示例:#id名{color:blue}
3、类选择器
选择是"共性", 可以设置多个。一个标签也可以设置多个
所谓类:就是class . class与id非常相似 任何的标签都可以加类,但是类是可以重复,属于归类的概念。
注意事项:
(1)类,要有公共类的概念,让更多的标签同时使用
(2)尽量用class, 除非一些特殊的情况用id, class一般用于CSS,id一般用于js
(3)一个标签可以设置多个类,中间用空格隔开
示例:.类名{color:blue;}
4、通配符选择器
选中所有的
示例:*{color:blue;}
二、高级选择器
1、后代选择器
常用的. 使用 空格 表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子)
<style type="text/css"> .father ul li p{ color:green; } div ul li p{ color:red; } </style>
2、子代选择器
使用 > 表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子....)元素p。
.father>p{
color: red;
}
.father>ul>li{
width: 100px;
}
3、组合选择器
多个选择器之间使用 逗号 隔开。表示选中的页面中的多个标签。一些共性的元素,可以使用并集选择器
body,div,p,a,span{
padding: 0;
margin: 0;
}
比如像百度首页使用并集选择器。
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
margin: 0;
padding: 0
}
/*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
4、交集选择器
使用 . 点 表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active
比如有一个<h4 class='active'></h4>这样的标签。
它表示两者选中之后元素共有的特性。
h4{
width: 100px;
font-size: 14px;
}
.active{
color: red;
text-decoration: underline;
}
/* 交集选择器 */
h4.active{
background: #00BFFF;
}
三、属性选择器
属性选择器,字面意思就是根据标签中的属性,选中当前的标签。
该方法较少用到, div[class="xxx"]
<style type="text/css"> /*根据属性查找*/ [for]{ color: red; } /*找到for属性的等于username的元素 字体颜色设为红色*/ [for='username']{ color: yellow; } /*以....开头 ^*/ [for^='user']{ color: #008000; } /*以....结尾 $*/ [for$='vvip']{ color: red; } /*包含某元素的标签*/ [for*="vip"]{ color: #00BFFF; } /*指定单词的属性*/ label[for~='user1']{ color: red; } input[type='text']{ background: red; } </style>
四、伪类选择器
伪类选择器一般会用在 超链接 a 标签 中,使用a标签的伪类选择器,我们一定要遵循"爱恨准则" LoVe HAte
a: link{} 没有被访问过
a: visited{} 被访问过
a: hover{} 鼠标悬停时
a: active{} 点击时
<style type="text/css"> /*没有被访问的a标签的样式*/ .box ul li.item1 a:link{ color: #666; } /*访问过后的a标签的样式*/ .box ul li.item2 a:visited{ color: yellow; } /*鼠标悬停时a标签的样式*/ .box ul li.item3 a:hover{ color: green; } /*鼠标摁住的时候a标签的样式*/ .box ul li.item4 a:active{ color: yellowgreen; } </style>
伪类标签只能用于超链接,但是 hover 鼠标悬停 可以作用于其他的标签的, 如下:
hover时,只能设置自己或者子类的变化
<style type="text/css"> /*鼠标悬停在span标签上时*/ span:hover{ color: red; font-size: 24px; text-decoration: underline; } /*鼠标悬停在父标签上, 字标签发生变化*/ .father:hover .child{ color: red; display: block; } </style>
知识补充:
CSS3中的选择器 --- nth-child()
<style type="text/css"> /*选中第一个元素*/ div ul li:first-child{ font-size: 20px; color: red; } /*选中最后一个元素*/ div ul li:last-child{ font-size: 20px; color: yellow; } /*选中当前指定的元素 数值从1开始*/ div ul li:nth-child(3){ font-size: 30px; color: purple; } /*n表示选中所有,这里面必须是n, 从0开始的 0的时候表示没有选中*/ div ul li:nth-child(n){ font-size: 40px; color: red; } /*偶数*/ div ul li:nth-child(2n){ font-size: 50px; color: gold; } /*奇数*/ div ul li:nth-child(2n-1){ font-size: 50px; color: yellow; } /*隔几换色 隔行换色 隔4换色 就是5n+1,隔3换色就是4n+1 */ div ul li:nth-child(5n+1){ font-size: 50px; color: red; } </style>
五、伪元素选择器
伪元素要与 content 连用 与后面布局中常用.
p:before 在...的前面添加内容 一定要结合content
p:after 在...的后面添加内容 与后面的布局有很大关系
<style type="text/css"> <!----> /*设置第一个首字母的样式*/ p:first-letter{ color: red; font-size: 26px; } /*用伪元素 属性一定c结合ontent 伪元素选择器与后面的布局有很大关系*/
/*在p标签之前添加内容 这个属性使用的不是很频繁 了解 使用此伪元素一定要结合Content属性*/
p:before{ content: '$' } /*在p标签之后添加内容 使用非常频繁 通常与布局有很大的关系 (可用于清除浮动)*/ p:after{ content: '.';
color:blue; } </style>

浙公网安备 33010602011771号