开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天
本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
mdn官方术语解释
层叠样式表(Cascading Style Sheets,缩写为 CSS)是一种样式表语言,用来描述 HTML 或 XML(包括如 SVG、MathML 或 XHTML 之类的 XML 分支语言)文档的呈现。CSS 描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。
css书写规则为:选择器+声明块
h1{
color:red;
background-color:lightblue;
text-align: center;
}
选择器:
- 元素选择器:即上面大括号前面的元素H1
- 类选择器:书写格式为.name{}
- id选择器:书写格式为#name{}
声明块:
- 出现在大括号中
- 声明块中包含很多声明(属性),每一个声明(属性)表达了某一方面的样式
注意:HTML只是语义化标签,最终样式由CSS决定
CSS代码书写位置
- 内部样式表
- 书写在style元素中
<style></style>
- 内联样式表,元素样式表
- 直接书写在元素内部
<style>属性中 3.外部样式表(推荐) - 将样式卸载独立的css文件中
- 优点:
- 外部样式表可以解决多页面样式重复的问题
- 有利于浏览器缓存,从而提高页面享用速度
- 有利于代码分离(HTML,CSS),更容易阅读和维护
CSS就是用来定义不同盒子之间的布局方式和样式的
盒模型
box:盒子,每个元素在页面中都会生成一个矩形区域(盒子)
盒子类型:
-
行盒,display等于inline的元素
-
块盒,display等于block的元素
行盒在页面中不换行、块盒独占一行
display默认值为inline
浏览器默认样式表设置的块盒:div、h1~h6、p
常见的行盒:span、a、img、video、audio
盒子的组成部分
无论是行盒、还是块盒,都由下面几个部分组成,从内到外分别是:
- 内容 content
width、height,设置的是盒子内容的宽高
内容部分通常叫做整个盒子的内容盒 content-box
- 填充(内边距) padding
盒子边框到盒子内容的距离
padding-left、padding-right、padding-top、padding-bottom
padding: 简写属性
padding: 上 右 下 左
填充区+内容区 = 填充盒 padding-box
- 边框 border
边框 = 边框样式 + 边框宽度 + 边框颜色
边框样式:border-style
边框宽度:border-width
边框颜色:border-color
边框+填充区+内容区 = 边框盒 border-box
- 外边距 margin
边框到其他盒子的距离
margin-top、margin-left、margin-right、margin-bottom
速写属性margin
块盒
- 常见块级元素有:div、p、h1~h6 、header、footer、nav、hr、ul、ol、dl等
块盒的特点:
- 1、独占一行, 所以也可以用来分区(div元素就常用于分区)
- 2、可以设置宽高
- 3、宽度是父元素宽度的100%
- 4、里面可以嵌套块级元素和行内元素
- 5、display:block
<div class="box">
<div class="header">//头部
<p></p> //p标签的语义为段落,块盒独占一行
<img src="" alt=""><span>123</span>
</div>
<div class="content"></div>//内容区
<div class="bottom"></div>//底部区域
</div>
块盒理解并不难,重点是行盒
行盒
行盒的盒模型
常见的行盒:包含具体内容的元素
span、strong、em、i、img、video、audio
显著特点
-
盒子沿着内容沿伸
-
行盒不能设置宽高
调整行盒的宽高,应该使用字体大小、行高、字体类型,间接调整。
- 内边距(填充区 padding)
水平方向有效,垂直方向不会实际占据空间。
- 边框(border)
水平方向有效,垂直方向不会实际占据空间。
- 外边距(margin)
水平方向有效,垂直方向不会实际占据空间。
行块盒
display:inline-block 的盒子
-
不独占一行
-
盒模型中所有尺寸都有效
空白折叠
空白折叠,发生在行盒(行块盒)内部 或 行盒(行块盒)之间
可替换元素 和 非可替换元素
大部分元素,页面上显示的结果,取决于元素内容,称为非可替换元素
少部分元素,页面上显示的结果,取决于元素属性,称为可替换元素
可替换元素:img、video、audio
绝大部分可替换元素均为行盒。
可替换元素类似于行块盒,盒模型中所有尺寸都有效。
常见样式声明
颜色
- color: 元素内部的文字颜色
- background-color:背景颜色
三原色,色值:光学三原色(红、绿、蓝),每个颜色可以使用0-255之间的数字来表达,色值。
rgb表示法:color:rgb(0, 255, 0)
hex(16进制)#表示法:#红绿蓝
- 淘宝红:#ff4400, #f40
- 黑色:#000000,#000
- 白色:#ffffff, #fff
- 红:#ff0000, #f00
- 绿:#00ff00, #0f0
- 蓝:#0000ff, #00f
- 紫:#f0f
- 青:#0ff
- 黄:#ff0
- 灰色:#ccc
文字
- font-size:文字大小
- font-weight:文字粗细程度
- font-family:字体样式
- text-decoration:文本修饰,给文本加线
- text-indent:首行文本缩进
- line-height:每行文本的高度,该值越大,每行文本的距离越大。
font-size:1px
px:像素,绝对单位,简单的理解为文字的高度占多少个像素
em:相对单位,相对于父元素的字体大小
每个元素必须有字体大小,如果没有声明,则直接使用父元素的字体大小,如果没有父元素(html),则使用基准字号。