Day_04

本文详细介绍了CSS中的元素显示模式,包括块元素、行元素和行内块元素的特点及转换方法。同时,深入探讨了背景属性,如颜色、图片、平铺、位置等,并讲解了背景颜色的半透明实现。此外,还阐述了CSS的层叠性和继承性,以及优先级规则。通过实例解析,帮助读者理解如何在实际开发中应用这些概念。

1. 块元素

常见:<h1>~<h6 <p> <div> <ul> <ol> <li>
特点:(1)独占一行;
(2)可调宽高,内外边距;
(3)宽度默认是容器(父级宽度)的100%,是一个容器及盒子,里面可以放行内或者块级元素
●注意:文字类的块元素内不能使用块级元素,如<p><div></div></p>会出错

2. 行元素

常见:<a> <strong> <b> <em> <i> <span>
特点:(1)一行元素可以显示多个
(2)高,宽直接设置无效
(3)默认宽度就是它本身内容的宽度
(4)行内元素只能容纳文本或其他元素
●注意:链接里面不能放链接,特殊情况链接<a>可以放块级元素,但是给<a>转换一下块级模式最安全

3. 行内块元素

常见:<img/> <input/> <td>
特点:(1)和相邻的行内元素(行内块)在同一行上(针对块元素不在同一行上特点),之间有空白间隙,一行显示多个
(2)宽度是本身内容宽度(行内元素特点)
(3)高度,宽度, 外边距内边距都可以控制(块元素特点)(针对行元素宽高不能调的特点

在这里插入图片描述

概念:一个模式的元素切换到另一种模式
转换为块元素:使用:display:block;
转换为行内元素:使用:display:inline
转换为行内块元素:使用:display:inline-block
postion:absolute 找最近的定位

案例:简洁版小米侧边栏
总结:

  1. <a>内设置文字水平居中对齐需要在css中设置line-height的值为<a>的一样高度,即单行文字垂直居中的解决方案:让文字的行高等于盒子的高度,即可让文字垂直居中

  2. 在这里插入图片描述

  3. 这个效果可以用text-indent:text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进
    在这里插入图片描述

1. 背景颜色

	color或者transparent(透明的)

2. 背景图片

	优点:①比起直接插入img标签,非常便于控制位置②当图片的大小超过电脑屏幕时,设置为背景图片可以完全显示
	值:none或者url

3. 背景平铺

	添加背景图片之后,如果图片小于容器的值,默认会平铺,我们需要取消平铺效果
	``background-repeat:repeat|no-repeat|repeat-x|repeat-y``

4. 背景图片位置

background-position:x y; //参数代表的意思是x坐标和y坐标,可以使用方位名词或者精确单位
参数值:length:由浮点数和单位标识符组成的长度长度值
参数值:poition:top|bottom|left|center|right 方位词
注意:①如果指定的两个值都是方位名词,则两个顺序前后无关(如果是精确的数值,反过来不一样)
②如果只指定了一个方位名词,另一个省略,则第二个值默认居中对齐
背景图像固定
③如果是数值,第一个位置指定数值,第二个位置不指定数值,则第一个位置一定是x的坐标位置,第二个位置是默认居中对齐的
④混合单位第一个是x值,第二个是y值

5. 背景图像固定(附着)

background-attachment:scorll | fixed
默认是scroll:背景图像随对象内容滚动
fixed:背景图像锁定

6. 背景图像的复合写法

书写顺序: background:背景颜色: color | 背景图片地址: url | 平铺:repeat | 滚动 :attachement | 位置:position
顺序可以颠倒,与字体的复合属性写法有区别

7.背景颜色的半透明

background:rgba(参数1,参数2,参数3,参数4)其中参数123是颜色的rgb,第四个参数是透明度,0时不透明,1时全透明
在这里插入图片描述
在这里插入图片描述

综合案例:五彩导航
练习:

  1. 元素的模式转换
  2. 单行文字的垂直居中
  3. 链接需要设置背景图片
  4. 需要用到背景相关属性设置
  5. 鼠标经过时元素会发生变化
  6. 练习伪类选择器

1. 层叠性

	概念: **相同选择器**设置**相同的样式**,此时一个样式就会覆盖另一个冲突的样式,层叠样式主要解决样式冲突的问题
	原则:就近原则,离谁近就执行哪个样式
	 			样式不冲突不会层叠

``

<style type="text/css">
  		div{
  			color:red;
  			font-size:18px
  		}
  		div{
			color:green;
		}
  </style>
  //颜色样式会冲突,字体样式不会冲突

``

2. 继承性

概念:子标签会继承父标签的某些样式,如文本颜色和字号
注意:●恰当使用继承可以简化代码
●子元素可以继承父元素的样式(text-,font-,line-这些开头的可继承,以及color属性)

行高的继承性:
1)行高可以跟单位也可以不跟单位
2) 如果子元素没有设置行高,则会继承父元素的行高
3)body{ font:12px/1.5 Microsoft YaHei; }//1.5的写法是当前子元素的文字大小*1.5倍,得到的数字就是行高的大小

3. 优先级

概念:权重高的样式会覆盖权重低的样式
在这里插入图片描述 优先级注意点: 1)权重4组数字组成,不会有进位 2)可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,依次类推
3)等级判断从左向右,如果某一位相同,判断下一位
4)可以简记为:通配符继承权重为0,标签选择器为1,类(伪类)选择器为10,id选择器为1000,!important无穷大
5)继承的权重为0,如果该元素没有直接选中,不管父元素权重多高,子元素的得到的权重都是0

<style>
	/*父亲的权重是无穷大*/
	#father{
		color:red!important
	}
	p{
		color:pink;
	}
	/*p继承的权重为0*/
	/*所以p的最终颜色是粉色*/
</style>
<body>
	<div id="father">
		<p>我是div的儿子</p>
	</div>
</body>

这也很好的解释了为什么在body里面修改文字的颜色时,a标签的颜色不受影响,因为浏览器默认给a标签设置了颜色,故a标签的权重为1,继承body里的样式权重为0;

概念:对选择器的权重进行叠加,不进位,当某一位相同时,比较下一位
在这里插入图片描述

权重的两个练习题
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值