CSS的引入方式
行内引入
在标签内直接写style
head内写入
<style> div { # div为已经写在body里的div background-color: blue; height: 50px } </style>
外部链接
<link rel="stylesheet" href="index.css"> 将内容写在文件中,用link标签引入
优先级:
行内 > head内 = 外部链接 (写在head里和外部链接没有优先级之分)
选择器
标签选择器 通过标签名直接选择到所有的标签,实际应用场景很少
id选择器 通过#id值选择到对应的id,具有唯一性,且优先级高于标签选择器
类选择器 通过.类名选择到对应的一类标签,不具备唯一性,且优先级高于标签选择器
通配符选择器 通过*选择到页面上所有的标签,实际应用场景也比较少
优先级:
id选择器 > 类选择器 > 标签选择器 > 通配符选择器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { background-color: blue; height: 50px } #red { background-color: red; } #cheng { background-color: orange; } .sky { background-color: lightblue; } * { background-color: gray; } </style> </head> <body> <div id="red"></div> <div id="cheng"></div> <div class="sky" id="lv"></div> <div class="sky" id="4"></div> <div class="sky" id="5"></div> </body> </html>
后代选择器 通过至少一个空格,实现后代选择器的效果 包括所有的子代和孙代
子代选择器 通过>找到所有的子代,不包括孙代
兄弟选择器 通过~找到所有同级别的指定标签 就算中间被隔断也不影响
毗邻选择器 通过+找到最近的向下相邻的指定标签
属性选择器 通过标签[属性="值"]找到对应的内容进行设置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /*div p {*/ /*background-color: rgb(243,208,177);*/ /*}*/ .xingfense p{ background-color: rgb(243,208,177); } .xingfense > p { background-color: red; } .xingfense > div ~ p { background-color: yellow; } .xingfense > div + p{ background-color: green; } </style> </head> <body> <div class="xingfense"> <div> <p>1</p> </div> <p>2</p> <p>2</p> <p>2</p> <p>2</p> </div> <div> <div> <p>1</p> </div> </div> </body> </html>
组合选择器: 仅仅通过逗号来组合起多个选择器,目的是为了重用一些共有的CSS属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div,p,#h11,div p { background-color: red; height: 50px; } p{ height: 100px; } h1{ # id选择器优先级高,不会改变第一个h1的设置 height: 80px; background-color: yellow; } </style> </head> <body> <div> </div> <p></p> <h1 id="h11">666</h1> <h1>666</h1> <h1>666</h1> <div> <p>777</p> </div> </body> </html>
选择器优先级:
行内>id>类>标签>通配符
后代选择器因为选择的范围比较模糊,要低于选择精准的选择器
模糊度越高优先级越低
标准文档流
空白折叠现象 自带换行
要去除空格,把代码中的空白区域删除掉
不同类型的行内元素或者行内块元素,对应的基准线不一致
字体属性
font-family:设置不同类型的字体,宋体,微软雅黑之类的
font-size:设置字体的大小,单位是像素 浏览器默认大小是16px
font-weight:字体宽度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p{ font-family: 楷体; # 字体 font-size: 16px; # 大小 font-weight:normal; # 粗细 font-weight:900; # 也可以通过值设置 } </style> </head> <body> <p>CSS将网页内容和显示样式进行分离,提高了显示功能。</p> </body> </html>
颜色相关
字体颜色用color
背景颜色用background-color
颜色的设置:
命名法
rgb(255,255,255)
#16进制写法
rgba(255,255,255,透明度) 透明度:1是完全不透明 0是完全透明
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body{ color: red; background-color: rgba(255,0,0,0.4); } div{ height: 50px; } </style> </head> <body> hkdaakljad <div>dsakdadas</div> </body> </html>
文本样式
对齐方式 text-align left左对齐 center居中 right右对齐
首行缩进
text-indent 单位是px,也可以是em字符,em是一个相对单位,相对于字体的大小
单词之间的间距:
word-spacing 单位px;
letter-spacing 中文之间的字间距,设置值可以使px或者em
大小写转换
text-transform lowercase小写 uppercase大写 capitalize首字母大写
文本的装饰
text-decoration none清除a标签自带的下划线 line-through中划线(划掉原价)
文本的方向
direction:rtl ltr
跟文本的对其方式没有区别
需要设置unicode-bidi: bidi-override,两个属性一起使用就能实现文本的方向的改变,默认是从左到右,还可改变为从右到左
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { text-align: left; font-size: 20px; text-indent: 2em; word-spacing: 100px; letter-spacing: 1em; text-transform: capitalize; } a { text-decoration: none; } #yuanjia { text-decoration: line-through; color: gray; } div p{ direction: rtl; unicode-bidi: bidi-override; } </style> </head> <body> <p> hello world 层叠样式表从审美的角度负责页面样式 </p> <a href="www.baidu.com">点我到百度</a> <div> <p>abc</p> </div> <span id="yuanjia">399</span> </body> </html>
宽高
宽高只能给行级标签设置,给行内标签设置不起作用,可以给行内块标签设置
给文本类或者行内标签类的元素设置垂直居中,可以利用line-hight来设置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { /*height: 50px;*/ line-height: 50px; } span { height: 50px; background-color: red; width:200px; line-height: 100px; } </style> </head> <body> <p>文本的高度</p> <span>文本的高度</span> </body> </html>
diaplay属性
行级标签变形为行内标签在行级标签里设置display:inline
行内标签变形为行级标签在行内标签里设置display:block
行级标签或者行内标签变形为行内块标签:display:inline-block
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { /*height: 100px;*/ background-color: yellow; /*display: inline;*/ } span { height: 30px; background-color: black; /* 50px;*/ display: block; /*float: right;*/ } </style> </head> <body> <div> <span></span><span></span> </div> </body> </html>
背景相关
background-image:url(图片的路径);
background-repeat:图片是否铺满等操作;
background-position:相对于左上角的点,往右平移是正直,往下平移也是正值,否则相反
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { width: 50%; height: 100px; background-image: url(bd.png); background-repeat: no-repeat; background-position: -50px -100px; background-color: pink; } </style> </head> <body> <div> </div> </body> </html>
伪类选择器
爱恨准则 LoVe HAte
link 链接在页面中显示的颜色
visited 点击完之后显示的颜色
hover 鼠标放在链接上时显示的颜色 不单单可以给a标签使用,也可以用在提交按钮上
active 点击时显示的颜色
focus 光标点击时显示的样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> a:link { color: black; } a:visited { color: yellow; } a:hover { color: deeppink; } a:active{ color: aqua; } #h:hover { color: red; } </style> </head> <body> <a href="www.baidu,com">百度一下,你就知道</a> <br> <a href="www.baidu,com">百度一下,你就知道</a> <br> <a href="www.baidu,com">百度一下,你就知道</a> <br> <a href="www.baidu,com">百度一下,你就知道</a> <input type="submit" id="h"> <span>dhahkasdh</span> </body> </html>
伪元素选择器
before,在元素之前添加一些内容
after,在元素之后添加一些内容
first-letter,对首字母进行操作
first-line,对首行进行一些操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div:first-letter { color: aqua; font-size: 20px; } div:before { content: "刚刚"; } div:after { content: "不会再来了"; } div:first-line{ color: deeppink; } </style> </head> <body> <div>晓雪来了,晓雪又走了</div> </body> </html>