CSS
2020-07-14 06:07
274 查看
CSS
1,如何学习CSS
重难点:CSS选择器
2,CSS简介
2.1,什么是CSS
CSS 指层叠样式表(Cascading Style Sheets),层叠的意思是:多重样式定义被层叠为一。
CSS 是标准的布局语言,用来控制元素的尺寸、颜色、排版。
CSS 非常精确,功能强大,易于编写。
2.2,发展史
2.3,CSS优势
3,CSS导入方式
很重要:在CSS,JS,JQuery,VUE里面都有用。
优先级:就近原则(行内样式 > (内部样式/外部样式)看谁离得比较近)
<!-- 1,行内样式:直接在代码中定义 不推荐使用 --> <div style="background-color: red">DIV1</div> <!-- 2,内部样式:在head头部定义 --> <head> <style type="text/css"> div{ background-color: green } </style> </head> <body> <div>DIV0</div> </body> <!-- 3,外部样式(链接式):引用css文件 --> <head> <link rel="stylesheet" href="new.css"> </head> <body> <div>DIV0</div> </body> css文件中: ------------------------ @charset "UTF-8"; div{ background-color: orange; } ------------------------ <!-- 4,外部样式(导入式):引用css文件 --> <!-- CSS2.1后写法,不推荐使用 --> <head> <style> @import url("new.css") </style> </head>
4,选择器
4.1,基本选择器
标签选择器:选择一类标签(h2,a等)。
类选择器(.):选择指定class类的某些标签,跨标签。
id选择器(#):选择特定id的标签,全局唯一。
优先级:id选择器 > 类选择器 > 标签选择器
<!-- 标签选择器 --> <style type="text/css"> div{ background-color: green } </style> <!-- 类选择器 --> <style type="text/css"> .classname1{ background-color: orange } </style> <body> <div class="classname1">suxi</div> </body> <!-- id选择器 --> <head> <style type="text/css"> #divid1{ background-color: orange; } </style> </head> <body> <div id="divid1">wahaha</div> </body>
4.2,层次选择器
4.2.1,后代选择器(空格)
概念:在某个元素后面的全部某个元素(子子孙孙)
/* body 里面包含的所有p标签*/ body p{ background-color: aqua; } <body> <div> <p>第零个段落</p> /* aqua */ <div> <p>第一个段落</p> /* aqua */ </div> </div> <p>第二个段落</p> /* aqua */ <p>第三个段落</p> /* aqua */ <p>第四个段落</p> /* aqua */ </body>
4.2.2,子选择器(>)
概念:在某个元素后面一个层级的全部某个元素(只有他的孩子)
body>p{ background-color: aqua; } <body> <div> <p>第零个段落</p> <div> <p>第一个段落</p> </div> </div> <p>第二个段落</p> /* aqua */ <p>第三个段落</p> /* aqua */ <p>第四个段落</p> /* aqua */ </body>
4.2.3,相邻兄弟选择器(+)
概念:可选择紧接在另一元素后的元素,且二者有相同父元素。
2个关键信息:(1)紧接在另一元素后;(2)二者有相同父元素
/* 案例一*/ <head> <meta charset="utf-8"> /* 指定紧接在同级别li后面的li标签使用这个样式*/ <style> li+li{ background-color: aqua; } </style> </head> <body> <ul> <li>List item 1</li> <li>List item 2</li> /* 变色*/ <li>List item 3</li> /* 变色*/ </ul> <ol> <li>List item 1</li> <li>List item 2</li> /* 变色*/ <LI>List item 3</LI> /* 变色*/ </ol> </body> /* 案例二 */ <head> <meta charset="utf-8"> /* 指定紧接在同级别div后面的p标签使用这个样式*/ <style> div+p{ background-color: aqua; } </style> </head> <body> <div> <p>第零个段落</p> <div> <p>第一个段落</p> </div> </div> <p>第二个段落</p> /* 变色 */ <p>第三个段落</p> <p>第四个段落</p> </body>
4.2.4,通用兄弟选择器(~)
概念: 位置无须紧邻,只须同层级,
A~B选择
A元素之后所有同层级
B元素。 (不包括A)
<head> <meta charset="utf-8"> <style> .active~p{ background-color: aqua; } </style> </head> <body> <p>第0段落</p> <p>第0段落</p> <p>第0段落</p> <div> <p>第零个段落</p> <div> <p>第一个段落</p> </div> </div> <p>第二个段落</p> <p>第三个段落</p> <p class="active">第四个段落</p> <p>第五个段落</p> /* 变色 */ <div> <p>段落</p> </div> <p>第六个段落</p> /* 变色 */ </body>
4.3,结构伪类选择器(:)
伪类:冒号:后面的东西,用来在结构中定位。
4.3.1,div p:first-child/last-child
按位置:
div元素后面的第一/最后的p元素。
<style> div p:first-child{ background: aqua; } div p:last-child{ background: purple; } </style> <body> <p>第01段落</p> <p>第02段落</p> <p>第03段落</p> <div> <p>第零个段落</p> /* aqua */ <div> <p>第一个段落</p> /* 先aqua后purple,最终purple */ </div> <p>第x个段落</p> /* purple */ </div> <p>第二个段落</p> <p>第三个段落</p> <p class="active">第四个段落</p> <p>第五个段落</p> <div> <p>段落</p> /* 先aqua后purple,最终purple */ </div> <p>第六个段落</p> <form action="我的HTML.html" method="get"> <p>性别: <input type="radio" value="boy" name="sex">男 <input type="radio" value="girl" name="sex">女 </p> <input type="submit"> </form> </body>
4.3.2,p:nth-child(1)
按位置:
第一步:定位p的父元素(p的第一个作用)
第二步:定位父元素下的第一个元素(数字的作用)
第三步:判断如果类型是p成立(p的第二个作用)
<style> p:nth-child(1){ background: red; } </style> <body> <p>第01段落</p> /* 变色 */ <p>第02段落</p> <p>第03段落</p> <div> <p>第零个段落</p> /* 变色 */ <div> <p>第一个段落</p> /* 变色 */ </div> </div> <p>第二个段落</p> <p>第三个段落</p> <p>第四个段落</p> <p>第五个段落</p> <div> <p>段落</p> /* 变色 */ </div> <p>第六个段落</p> <form action="我的HTML.html" method="get"> <p>性别: <input type="radio" value="boy" name="sex">男 <input type="radio" value="girl" name="sex">女 </p> /* 变色 */ <input type="submit"> </form> </body>
4.3.3,p:nth-of-type(2)
按类型:
第一步:定位p的父元素(p的第一个作用)
第二步:定位父元素下的p元素(p的第二个作用)
第三步:选择第二个(2的作用)
<style> p:nth-of-type(2){ background: red; } </style>
4.3.4,其他
/* 光标移动到a标签上时显示颜色*/ a:hover{ background: red; }
5,属性选择器([ ])
相当于id和class的结合:标签[]{} --> a[]{}
条件:在[]里面判断,里面可以是,直接属性名,或者属性名=属性值(使用正则表达式) = 绝对等于 *= 包含 ^= 开头等于 $= 结尾等于
/* 存在id属性的a标签*/ a[id]{ background: red; } /* id属性等于first的a标签*/ a[id=first]{ background: red; } /* id属性等于first的a标签*/ a[id*="links"]{ background: red; } /* href属性开头包含http的a标签*/ a[href^="http"]{ background: red; } /* href属性结尾包含pdf的a标签*/ a[href$="pdf"]{ background: red; }
条件:在[]里面判断,里面可以是,直接属性名,或者属性名=属性值(使用正则表达式)
= 绝对等于
*= 包含
^= 开头等于
$= 结尾等于
```html /* 存在id属性的a标签*/ a[id]{ background: red; } /* id属性等于first的a标签*/ a[id=first]{ background: red; } /* id属性等于first的a标签*/ a[id*="links"]{ background: red; } /* href属性开头包含http的a标签*/ a[href^="http"]{ background: red; } /* href属性结尾包含pdf的a标签*/ a[href$="pdf"]{ background: red; }
相关文章推荐
- 使单元格里的文字不会撑破表格的CSS
- 网页制作中常用的基础知识002-CSS布局与表格布局的区别
- FLEX实践—使用CSS的总结
- css 小记
- css中文字和图片的典型布局
- [转]小tip: 使用CSS将图片转换成黑白的
- css中box-sizing的使用心得
- css去掉a标签点击后的虚线框
- css解决无论页面长短footer永远置底
- 4---css的核心:盒子、浮动+定位
- 关于CSS和CSS3中一些注意事项1
- css 设置table样式
- 神奇的CSS技巧探秘——关于边框特效
- web前端总结-----CSS基础详解(二)
- CSS 图片不停旋转
- 国产框架:“nec更好的css方案”
- 纯 CSS 实现波浪效果!
- css常用属性
- 爬取动态网站数据(soup的css方式处理数据)
- css核心属性