层叠样式表 (Cascading Style Sheets)。
CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果。 能够做到页面的样式和结构分离。
两张图说明CSS的作用:
CSS就好比化妆,能让人(页面)好看的连麻麻都认不出来!
示例:
CSS
CSS从入门到精通
有三种方式:
通过 style 属性, 来指定某个标签的样式. 只适合于写简单样式. 只针对某个标签生效.
缺点: 不能写太复杂的样式,这种写法优先级较高, 会覆盖其他的样式.
示例:
一朝被蛇咬十年怕井绳呐!
红色被覆盖掉了,显示的字体是绿色,说明行内样式优先级较高。
写在 style 标签中, 嵌入到 html 内部,理论上来说 style 放到 html 的哪里都行.,但是一般都是放到 head 标签中。
优点: 这样做能够让样式和页面结构分离。
缺点: 分离的还不够彻底,尤其是 css 内容多的时候。
示例:
CSS
一朝被蛇咬十年怕井绳呐!
实际开发中最常用的方式,使用步骤:
CSS
临考时,奉劝大家不要看不太吉利的电影,譬如《大红灯笼高高挂》
div {
color: red;
font-size: 20px;
}
效果:
优点: 样式和结构彻底分离了.
缺点: 受到浏览器缓存影响, 修改之后 不一定 立刻生效
行内样式 > 内部样式 > 外部样式
示例:
HTML代码:
CSS
每天晚上睡觉的时候抱个烫烫的暖宝宝放在胸前,心里默念,热胀冷缩,热胀冷缩
CSS代码:
div {
color: red;
}
可以看到绿色和红色被覆盖掉了,并未生效,字体为蓝色(行内样式)。
选中页面中指定的标签元素,要先选中元素, 才能设置元素的属性。
示例:
李白
李白
李白
韩信
韩信
韩信
差异化表示不同的标签
可以让多个标签的都使用同一个标签.
示例:
韩信
韩信
韩信
语法细节:
和类选择器类似
示例:
韩信
韩信
使用 * 的定义, 选取所有的标签.
示例:
李白
韩信
赵云
CSS 属性有很多, 可以参考文档:
CSS 参考手册
font-family: '微软雅黑';
font-family: 'Microsoft YaHei';
font-size: 25px;
font-weight: bold;
font-weight: 700;
/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;
color: red;
color: #ff0000;
color: rgb(255, 0, 0);
color 属性值的写法:
控制文字水平方向的对齐,不光能控制文本对齐, 也能控制图片等元素居。
text-align: [值];
text-decoration: [值];
常用取值:
控制段落的 首行 缩进 (其他行不影响)
text-indent: [值];
background-color: [指定颜色]
默认是 transparent (透明) 的. 可以通过设置颜色的方式修改.
background-image: url(...);
background-repeat: [平铺方式]
重要取值:
默认是 repeat.
background-size: length|percentage|cover|contain;
每一个 HTML 元素就相当于是一个矩形的 "盒子" ,这个盒子由这几个部分构成:
基础属性:
示例:
test
支持简写, 没有顺序要求:
border: 1px solid red;
padding 设置内容和边框之间的距离.
基础写法:
默认内容是顶着边框来放置的. 用 padding 来控制这个距离
可以给四个方向都加上边距
示例:
test
复合写法:
可以把多个方向的 padding 合并到一起:
padding: 5px; 表示四个方向都是 5px
padding: 5px 10px; 表示上下内边距 5px, 左右内边距为 10px
padding: 5px 10px 20px; 表示上边距 5px, 左右内边距为 10px, 下内边距为 20px
padding: 5px 10px 20px 30px; 表示 上5px, 右10px, 下20px, 左30px (顺时针)
控制盒子和盒子之间的距离.
基础写法:
示例:
hhhhh
ttttt
复合写法:
margin: 10px; // 四个方向都设置
margin: 10px 20px; // 上下为 10, 左右 20
margin: 10px 20px 30px; // 上 10, 左右 20, 下 30
margin: 10px 20px 30px 40px; // 上 10, 右 20, 下 30, 左 40