*{
}
元素{
}
.类名{
}
#id名{
}
/*p元素且类名为beauty的元素*/
p.beauty {
}
.rich.beauty {
}
又称分组选择器
.rich,.beauty,.navtop,#myIMage{
}
<style>
ul li{
}
style>
<ul>
<li>li>
<li>li>
<li>li>
<div>
<li>li>
div>
ul>
<style>
div>a{
}
style>
<div>
<a href="">a>
<a href="">a>
<a href="">a>
<p>
<a href="">a>
p>
div>
<style>
/*向下找紧紧相邻(中间不能被其他元素隔开)的兄弟 --相邻兄弟选择器*/
div+p{
}
/*向下找兄弟 --通用兄弟选择器*/
div~p{
}
style>
<div>div>
<p>p>
<p>p>
<p>p>
<style>
/* 选中具有title属性的元素 */
[title]{
color:red;
}
/* 选中具有title属性,且属性值为nihao1的元素 */
[title="nihao1"]{
color:blue;
}
/* 选中具有title属性,且属性值以a开头的元素 */
[title^="a"]{
color:green;
}
/* 选中具有title属性,且属性值以u结尾的元素 */
[title$="u"]{
color:skyblue;
}
/* 选中具有title属性,且属性值含字母“t”的元素 */
[title*="t"]{
color:orchid;
}
style>
<div title="nihaot">你好div>
<div title="nihao1">你好1div>
<div title="anihtao2">你好2div>
<div title="nihao3u">你好3div>
<style>
/* 选中没有访问过的a元素 */
a:link{
color:red;
}
/* 选中访问过的a元素 */
a:visited{
color:green;
}
/* 鼠标悬浮状态a元素 */
a:hover{
color:brown;
}
/* 激活状态(鼠标点下去,但是没有抬起来)的a元素 */
a:active{
color: chocolate;
}
/* 被获取焦点的元素 ---表单类元素才能用*/
input:focus{
color:antiquewhite;
background-color: black;
}
style>
<a href="#">链接1a>
<a href="www.baidu.com">链接2a>
<input type="text">
<style>
/* 选中div的第一个儿子元素且它是p元素
一下例子中,假如第一个p之前有个别的元素,就选不中了*/
div>p:first-child{
color:red;
}
style>
<div>
<p>第一段p>
<p>第二段p>
<p>第三段p>
<p>第四段p>
div>
<style>
/* 选中div的后代p元素中 第一个p元素
且p的父级是谁无所谓,但p必须是其父级的第一个元素*/
div p:first-child {
color: red;
}
div
style>
<div>
<p>第一段①p>
<marquee>
<p>第一个②p>
<p>第二个p>
marquee>
<p>第一段p>
<p>第二段p>
<p>第三段p>
<p>第四段p>
div>
<style>
/* 第一个p元素
且p的父级是谁无所谓,但p必须是的第一个元素*/
div p:first-child {
color: red;
}
div
style>
<div>
<p>第一段①p>
<marquee>
<p>第一个②p>
<p>第二个p>
marquee>
<p>第一段p>
<p>第二段p>
<p>第三段p>
<p>第四段p>
div>
:last-child 选中最后一个元素
:nth-child(n) 选中第n个元素
:nth-child(2n) 选中第偶数个元素(也可以用even)代替
:nth-child(2n+1) 选中第奇数个元素
:ntl-child(-n+5) 选中前五个元素
:first-of-type 所有同类型兄弟元素中的第一个
:last-of-type 所有同类型兄弟元素中的最后一个
:nth-of-type(n) 所有同类型兄弟元素中的第n个
<style>
/*选中的是div的儿子p元素,但是排除类名为fail的元素*/
div>p:not(.fail){}
/*选中的是div的儿子p元素,但是排除title属性值以“你要加油”开头的*/
div>p:not([title^="你要加油"]){}
/*选中的是div的儿子p元素,但排除第一个儿子元素*/
div>p:not(:first-child){}
style>
<div>
<p>张三:98分p>
<p>李四:88分p>
<p>王五:78分p>
<p>马六:68分p>
<p class="fail" title="你要加油啊!孙七">孙七:58分p>
<p class="fail" title="你要加油啊!老八">老八:48分p>
div>
/* 选中的是勾选的复选框或单选按钮 */
input:checked{}
/* 选中的是被禁用的input元素 */
input:disabled{}
/* 选中的是可用的input元素 */
input:enabled{}
:target 选中锚点指向的元素
<style>
div{
height: 50px;
background-color:gainsboro;
}
div:target{
background-color: blue;
}
style>
<a href="#one">去看第1个a>
<a href="#two">去看第2个a>
<a href="#three">去看第3个a>
<a href="#four">去看第4个a>
<a href="#five">去看第5个a>
<a href="#six">去看第6个a>
<hr>
<div id="one">第1个div><br>
<div id="two">第2个div><br>
<div id="three">第3个div><br>
<div id="four">第4个div><br>
<div id="five">第5个div><br>
<div id="six">第6个div>
<style>
/* 根据指定的语言选择元素(本质是看lang属性的值) */
div:lang(en){
color: red;
}
style>
<div>第一个divdiv>
<div lang="en">second div第二个div>
<p>前端p>
<span>span标签span>
<style>
/* 选中div中的第一个 文字、字符、字母 */
div::first-letter{
color:red;
font-size: 20px;
}
/* 选中div中第一行文字 */
div::first-line{
background-color: antiquewhite;
}
/* 选中div中被鼠标选择的文字 */
div::selection{
background-color: aquamarine;
}
/* 选中的是input中的提示文字 */
input::placeholder{
color: skyblue;
}
/* 选中的是p元素中最开始的位置,随后创建一个子元素 */
p::before{
content:"¥"
}
/* 选中的是p元素中最后的位置,随后创建一个子元素 */
p::after{
content:".00"
}
style>
<div>
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Voluptas itaque similique aliquid atque rerum inventore mollitia, amet fugiat facilis ut cum nisi q
div>
<br>
<input type="text" placeholder="请输入文字">
<p>199p>
<p>299p>
<p>399p>
<p>499p>
ID选择器 > 类选择器 > 元素选择器 >通配选择器
权重(a,b,c)
a:ID选择器的个数
b:类、伪类、属性、选择器的个数
c:元素、伪元素、选择器的个数
/*rgb:无透明度*/
background-color: rgb(138,34,226);
/*rgba:有透明度*/
background-color: rgba(138,34,226,0.5);
/*HEX:无透明度*/
background-color: #363B40;
/*HEXA:有透明度*/
background-color: #363B40EE;
/*HSL:无透明度【色相、饱和度、亮度】*/
background-color: #363B40;
/*HSL:有透明度*/
background-color: #363B40EE;
/*字母间的间距*/
letter-spacing:**px;
/*单词间的间距*/
word-spacing:**px;
上划线 下划线 删除线
text-decoration:overline;
text-decoration:underline;
text-decoration:line-throught;
/*【线条也可以控制比如:删除的红色的虚线*/
text-decoration:line-throught dotted red;
div{
text-size:20px;
text-indent:40px;
}
text-align:center;
line-height:**px;
line-height:normal;
line-height:1.5;
line-height:150%;
ul{
/* 列表符号 */
/* list-style-type: decimal; */
/* 列表符号的位置 */
/* list-style-position: inside; */
/* 自定义列表符号 */
/* list-style-image: url("./images/首页文章列表符号.png"); */
/* 复合属性 */
list-style: decimal inside url("./images/首页文章列表符号.png");
}
这里的属性,其他元素也能用,比如span
border-width: 1px;
border-color: balck;
border-style: solid;
/* 简写属性 */
border: 1px solid black;
table{
border: 2px solid black;
width:500px;
/* 控制表格的列宽 */
table-layout: fixed;
/* 控制单元格之间的距离【合并单元格情况下,此效果失效】 */
border-spacing: 5px;
/* 合并相邻的单元格的边框 */
border-collapse: collapse;
/* 隐藏没有内容的单元格【合并单元格情况下,视觉上不奏效】 */
empty-cells: hide;
/* 设置表格标题的位置 */
caption-side: top;
}
/* 设置背景颜色,默认值是transparent */
background-color:skyblue;
/* 设置背景图片 */
background-image:url(../images/bg.jpg);
/* 设置背景图片的重复方式 */
background-repeat:no-repeat;
/* 控制背景图片的位置方式1:关键词 */
background-position:center;
/* 控制背景图片的位置方式1:用具体的像素值 */
background-positon:300px;
/* 复合属性 */
background:green url(../images/bg.jpg) no-repeat 300px;
div{
/* 设置鼠标移入div时鼠标的形状 */
cursor: pointer;
}
overflow:hidden;
overflow:scroll;
overflow:auto;
div{
/*页面上不占位*/
display:none;
/*页面上站位*/
visibility:hidden;
}
float
元素浮动后的特点
1、脱离文档流
2、浮动后默认宽与高都是被内容撑开(尽可能小),而且可以设置宽高
3、不会独占一行,可以与其他元素共用一行
4、不会margin合并,也不会margin塌陷,能够完美的设置四个方向的margin和padding
5、不会像行内块一样被当做文本处理(没有行内块的空白问题)
浮动后的影响:
对兄弟元素的影响:后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响。
对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。
解决浮动的影响:
position:relative
left:10px;
/*top、bottom、left、right 参考原始的位置*/
应用场景:
1、微调元素的位置的时候
2、能和绝对定位一起使用
参考的是它的包含块。如果没有脱离文档流时候父元素就是它的包含块。脱离文档流时候第一个开启定位的祖先元素就是它的包含块。
position:absolute
top:10px;
/*top、bottom、left、right*/
绝对定位的特点:
1、脱离文档流,会对后面的兄弟元素、父元素有影响
2、left不能和right一起设置,top和bottom不能一起设置
3、绝对定位、浮动不能同时设置,如果同时设置,浮动失效,以定位为主
4、绝对定位的元素,也能通过margin调整定位,但是最好不要这么做
5、无论是什么元素(行内、行内块、块级)设置为绝对定位之后,都变成了定位元素
定位元素的默认宽高都是被内容撑开的,且能再设置宽高
参考视口
position:fixed;
top:10px;
/*top、bottom、left、right*/
固定定位的特点:
1、脱离文档流,会对后面的兄弟元素、父元素有影响
2、left不能和right一起设置,top和bottom不能一起设置
3、固定定位、浮动不能同时设置,如果同时设置,浮动失效,以定位为主
4、固定定位的元素,也能通过margin调整定位,但是最好不要这么做
5、无论是什么元素(行内、行内块、块级)设置为固定定位之后,都变成了定位元素
定位元素的默认宽高都是被内容撑开的,且能再设置宽高
参考离它最近的能滚动的祖先元素,当它的父容器也被推走的时候它也会跟着走。
position:sticky;
top:10px;
粘性定位的特点:
1、不脱离文档流
2、最常用的是top值
3、粘性定位和浮动可以同时设置,但是不推荐这么做
4、固定定位的元素,也能通过margin调整定位,但是最好不要这么做