学习目标
-
能够说出CSS的三种书写位置 行内式 内嵌式 外链式
-
能够写出实体化三属性的三个css属性 width height background-color
-
能够说出标签的3种显示模式和他们的特点 块级 行内 行内块 display:block/ inline/ inline-block
-
能够说出CSS有哪些复合选择器 后代选择器 .box p 并集选择器 .box1,.box2,.box3{ … }
-
能够说出后代选择器的用法 .box p span{}
-
能够说出并集选择器的用法 .box1,.box2,p,h1{ xx:xx;}
-
能够写出边框属性的复合属性 border: 粗细 样式 颜色; border:1px solid #000;
-
能够说出行高在页面上展示的是什么 一行文字的高度。 文字在盒子中垂直居中: 行高和高度一致
-
能够书写background背景的复合属性
background:颜色 图片路径 平铺 背景位置; background: pink url(../images/logo.png) no-repeat left center;
一、实体化三属性
实体化三属性有:
width-----宽度;
height------高度;
background-color------背景颜色(值可以是:十六进制、英文);
二、(重点)标签的显示模式(display)
标签的类型(显示模式)
HTML标签一般分为块标签和行内标签两种类型,它们也称块级元素和行内元素。具体如下:
2.1、块级元素(display:block)
常见的块元素有
~
、
、
-
、
- 、
- 等,其中
标签是最典型的块元素。
块级元素的特点:
1、块级元素可实体化
2、块级元素无法同行显示
2.2、行内元素(display:inline)
行内元素(内联元素)不占有独立的区域,仅仅靠自身的字体大小和图像尺寸来支撑结构,一般不可以设置宽度、高度、对齐等属性,常用于控制页面中文本的样式。
常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>标签最典型的行内元素。
行内元素的特点:
1、行内元素无法实体化
2、行内元素默认是同行显示
注意:
- 只有文字才能组成段落,因此p标签里面不能放块级元素,同理还有这些标签h1,h2,h3,h4,h5,h6,dt,他们都是文字类块级标签,里面不能放其他块级元素。
- 链接里面不能再放链接。
3.3、行内块元素(display:inline-block;)
有些布局既要一行并存,又要显示宽度和高度。
display:inline-block; 既能显示大小又能一行并存
三、(重点)常用复合选择器
常用的复合选择器有:后代选择器、并集选择器、指定选择器、链接伪类选择器
3.1、后代选择器
今天重点:今天重点是对前面的知识点巩固,做综合案例。
后代选择器又称继承选择器,一般都是用在列表里面的.举例 无序列表 ul li{} ol li{}等等。
总结:我们的继承选择器用的是空格 ul li ol li(有且只有一个空格—规范)。
子孙后代都可以这么选择。 或者说,它能选择任何包含在内的标签。
3.2、并集选择器
我们的并集选择器用的是逗号,(英文状态下逗号)。举例div,span,p,h2,h3,h4,h5{}
并集选择器(CSS选择器分组)是各个选择器通过逗号连接而成的,任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。
记忆技巧:
并集选择器 和 的意思, 就是说,只要逗号隔开的,所有选择器都会执行后面样式。
比如 .one, p , #test {color: #F00;} 表示 .one 和 p 和 #test 这三个选择器都会执行颜色为红色。 通常用于集体声明。
3.3、链接伪类选择器
为了和我们刚才学的类选择器相区别
类选择器是一个点 比如 .demo {}
而我们的伪类 用 2个点 就是 冒号 比如 :link{}
作用:
用于向某些选择器添加特殊的效果。
伪类选择器有链接伪类,结构伪类等。我们这里先给大家讲解链接伪类选择器。
-
a:link /* 未访问的链接 */
-
a:visited /* 已访问的链接 */
-
a:hover /* 鼠标移动到链接上 */
-
a:active /* 选定(点击时候)的链接 */
注意
-
写的时候,他们的顺序尽量不要颠倒 按照 lvha 的顺序。否则可能引起错误。
-
记忆法
- **lv **包包 非常 hao
-
因为叫链接伪类,所以都是 利用交集选择器 a:link a:hover
-
因为a链接浏览器具有默认样式,所以我们实际工作中都需要给链接单独指定样式。
-
实际工作开发中,我们很少写全四个状态,一般我们写法如下:
a { /* a是标签选择器 所有的链接 */
font-weight: 700;
font-size: 16px;
color: gray;
}
a:hover { /* :hover 是链接伪类选择器 鼠标经过 */
color: red; /* 鼠标经过的时候,由原来的 灰色 变成了红色 */
}
注意:其他的复合选择器我们后面再进行介绍
四、边框属性
border属性是用来设置标签边框的,它一共有三个值,值与值之间用空格隔开;
基本结构:border:粗细 类型 颜色; 例如:border:1px solid #000;
其中边框类型有三个值:solid------实线;dashed-------虚线;dotted ------点线;
Css中所有的边框都由4部分组成,分别是 上右下左。 Top,right,bottom,left,所以可以对其中一条边进行设置,例如:border-top:1px solid #ccc;
五、line-height:行间距
line-height属性用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高。line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%,实际工作中使用最多的是像素px
六、CSS 背景属性(background)
CSS 可以添加背景颜色和背景图片,以及来进行图片设置。
repeat : 背景图像在纵向和横向上平铺(默认的)
no-repeat : 背景图像不平铺
七、(重点)内边距(padding)
padding属性用于设置内边距。 是指 边框与内容之间的距离。
padding-top:上内边距
padding-right:右内边距
padding-bottom:下内边距
padding-left:左内边距
八、(重点)外边距(margin)
margin属性用于设置外边距。 控制盒子外面的距离。
margin-top:上外边距
margin-right:右外边距
margin-bottom:下外边距
margin-left:上外边距
margin:上外边距 右外边距 下外边距 左外边
取值顺序跟内边距相同。
九、内边距padding和边框撑大盒子尺寸问题
我们的内边距和边框都是把盒子变大,我们不能让盒子变大,解决办法:内减法。(外边距不需要内减,只有内边距和边框)
box-sizing: border-box;
总结:只要盒子给了内边距和边框都会把盒子变大,所以我们要内减,因为盒子大了就会把页面撑开,下面的内容就会被挤下去。(给了边框和内边距别忘了减掉就可以了。—外边距不需要减)
十、CSS层叠性
所谓层叠性是指多种CSS样式的叠加。
是浏览器处理冲突的一个能力,如果一个属性通过两个选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉
比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为蓝色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。
一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。
CSS最后的执行口诀: 长江后浪推前浪,前浪死在沙滩上。
十一、CSS继承性
所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。
简单的理解就是: 子承父业。
CSS最后的执行口诀: 龙生龙,凤生凤,老鼠生的孩子会打洞。
注意:
恰当地使用继承可以简化代码,降低CSS样式的复杂性。子元素可以继承父元素的样式(一般继承文字三属性,字号,字体,颜色...)
Demo:
1、导航按钮
2、五彩按钮