https://www.runoob.com/css/css-tutorial.html
CSS特点:美化网页 一般称为 CSS样式表
书写格式:
选择器{
属性:值;
...
}
总结:选中正确的标签,设置正确的属性和值。
CSS—共有三种书写位置:行内式、内嵌式、外链式
直接写在标签的 style 属性中
格式:<标签 style="属性:值;属性:值;...">
将CSS代码内嵌在HTML文档的 style标签 中
格式:选择器{属性:值;属性:值;...}
使用 link 标签外链另一个CSS文件
选择器的作用:从HTML文档中找到要设置样式的标签
基础选择器:标签选择器、id选择器、类选择器
优点:一次性选择所有页面中的标签
缺点:不能个性化选择、设置标签
优点:能精确的选择标签
缺点:不能一次性选择多个标签
<style>
#p1{
color:red;
}
</style>
<p id="p1">举头望明月,</p>
使用标签中class属性的值将页面中的标签选出来
任何标签都有class属性,不同标签的class值可以是相同的
重点:在style标签中使用类选择器时必须在前面加上 .
<style>
.red{
color:red;
}
</style>
<h1>静夜思</h1>
<p class="red">床前明月光,</p>
<p>疑是地上霜。</p>
<p class="red">举头望明月,</p>
<p>低头思故乡。</p>
一个 class 属性可以同时设置多个值,类名之间使用空格进行分隔,每个类名的CSS样式都会生效
星号( * )就是通配符选择器,能够一次性选择页面中所有标签,但是会影响页面响应速度,不建议使用
当样式出现冲突时,优先考虑权重;权重相同的情况下,采用就近原则
text- , font- , line- , color 这些会被继承
如果页面中没有使用css样式设置字体大小,则浏览器使用默认大小
用于设置文字采用的字体样式,例如:宋体、微软雅黑等等
用来设置字体粗细,body{font-weight: bold;}
字体倾斜,p{font-style: normal;}
,normal:正常(默认) | italic:倾斜
body {
font: font-style font-weight font-size/line-height font-family;
}
连写时,必须按上面的顺序书写,属性之间使用空格隔开。
font-style、font-weight 可以省略(一般不写)。
font-size、font-family 一般设置在body标签中。
font: 12/1.5 字体大小为12px,行高为1.5倍
用于设置文本蓝色
<!-- 语法 -->
p {
color: red;
}
用于设置文本水平对齐位置,该属性只能用于占据整行的标签。
用于设置文本划线
用于文本缩进,最常用与段落开始的两个空格
text-indent: 2em;
复合选择器就是使用多个基本选择器联合找到页面中的标签
子代选择器 | 后代选择器 | 交集选择器 | 并集选择器 |
---|
使用同—个标签中的两个选择器,同时选中—个标签
并集选择器用来同时选中多个标签,并为这多个标签设置样式
a:link
/* 未访问的链接 */a:visited
/* 已访问的链接 */a:hover
/* 鼠标悬浮在链接上 */a:active
/* 选定的链接 */注意事项:
链接伪类:必须按顺序来写
实际项目中,只设置 a 标签基本样式 和 hover 伪类样式
HTML标签主要分为块标签和行内标签两种类型,也称为块元素和行内元素
快元素会独占一行,例如:<p>、<h1>、<div>
等。
行内元素不会占用整个一行,例如:<span>、<b>、<i>
等。
左右居中:text-align: center
垂直居中:line-height
line-height 的值要等于height
行内元素不能设置宽高 行内元素只能容纳文本或则其他行内元素,不能填充块元素
display:inline --> 将标签转为行内元素
display:block --> 将标签转为块元素
display:inline-block --> 将标签转为行内块
display:none --> 隐藏元素
进入阿里图标库:https://www.iconfont.cn/
span标签引入字体图标
background-color: 预定义/十六进制颜色/rgb(0,0,0)
background-image: url(路径)
background-repeat
可选值:repeat、no-repeat、repeat-x、repeat-y
CSS background-repeat 属性 (w3school.com.cn)
background-position: X轴 Y轴
背景附着就是背景是滚动的还是固定的
background-attachment:scroll fixed;
/* scroll 滚动 | fixed 固定 */
常用的html标签都可以看做是一个盒子,称为盒子模型
盒子由四部分组成:
语法:border:border-width | border-style | border-color
常见线型
方位:top(上)、bottom(下)、left(左)、right(右)
其他:widht(粗细)、style(样式)、color(颜色)
border-dadius: length(可使用像素值或百分比)
内边距(padding):设置内容与边框之间的距离
外边距(margin):设置元素之外的距离
box-sizing:指定计算盒子宽高的方式,有两个可选值content-box(默认) 和 border-box;.
当设置为border-box时,width和height就是最终宽高,不再受padding影响
同—列上下两个元素相邻,并且上有margin-bottom,下有margin-top时,会发生塌陷。塌陷之后的margin取最大值
div{
width: 200px;height: 200px;
background-color: pink;
margin: 100px auto;
box-shadow: 5px 5px 10px 5px rgba(0, 0, 0, 0.3);
}
列表样式是针对 ul-li / ol-li 设置的样式 作用:去掉圆点、使用图片代替远点
list-style-type | list-style-image | list-style |
---|
list-style-type:设置圆点(序号)样式
list-style-image:设置图片代替圆点
list-style:既能设置圆点样式,又能设置图片样式
css提供3种布局机制: 普通流(标准流)、浮动(float)、定位(positon)
普通流又叫标准流,是浏览器默认使用的方式
块元素从上向下的顺序排列
行内元素从左到右的顺序排列(碰到父元素边缘则自动换行)
让一行内容纳多个盒子
浮动的核心:脱离普通流(标准流)的控制(漂浮)
浮动后,会把本来占据的空间让给下一个元素
元素浮动后,会被转换为类似行内块的元素
浮动的元素互相贴靠一起的,但是如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐
float:inherit;该属性为继承父元素的浮动属性
添加一个新标签,设置该标签清除浮动
clear : left | right | both
产生问题的父标签添加 overflow 属性
overflow: hidden | auto | sroll;
after伪元素法是额外标签法的升级版(推荐) 核心原理:利用CSS3的新特性自动创建一个叫做after的伪元素,再使用clear:both进行浮动清除
双伪元素是after伪元素的升级方法 核心原理:利用CSS3的新特性自动创建before和after两个伪元素,再使用clear:both进行浮动清处
after伪元素法(京东)、双伪元素法(小米商城官网)。
.clearfix:after{
content: "aaa";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix{
*zoom:1;
}
.clearfix:before,.clearfix:after{
content: "";
display: table;
}
.clearfix:after{
clear: both;
}
.clearfix{
*zoom:1;
}
display: none;
和 visibility: hidden;
的区别
visibility
方式隐藏的元素在页面中仍然占据空间
将盒子定在页面的某一个位置(漂浮)
静态定位(static) 就是无定位,无法使用边便宜来调整盒子的位置。
相对定位(relative)是元素相对于自己在标准流中原来的位置 不会放弃它在标准流中占据的位置
*{
position: relative;
}
绝对定位(absolute)是以带有定位(相对、绝对、固定)的父级元素来计算定位位置 如果父元素没有定位,则找父级的父级,..…. 。如果都没有则会以浏览器为准定位
{
position:absolute;
}
==子绝父相(口诀)∶子元素使用绝对定位,父元素使用相对定位==
父元素使用相对定位不脱标,更加方便页面布局。
子元素使用绝对定位退表,可以在父元素中随意定位。
固定定位就是将盒子定位到页面的固定位置 固定定位也是投标,只认浏览器的可视窗口
{
position: fixed;
}
定位会让盒子重叠,后面的盒子会压住前面的盒子 z-index能够调整盒子的堆叠顺序,每个盒子默认值都是О
div {
width: 200px;
height: 200px;
}
.one {
position: fixed;
top: 0;
left: 0;
background-color: green;
z-index: 1;
}
.two {
position: fixed;
top: 50px;
left: 50px;
background-color: gray;
}
.three {
position: fixed;
top: 100px;
left: 100px;
background-color: chocolate;
}
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>