CSS基础知识(三)CSS背景、CSS三大特性

1、CSS背景

1.1、背景颜色

格式:background-color:颜色值;
一般情况下,元素背景颜色默认值是transparent(透明)

1.2、背景图片

格式:background-image: none|url;
none:无背景(默认的)
url:使用相对或绝对地址指定背景图片(必须要写)
实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)

1.3、背景平铺

格式:background-repeat:repeat | no-repeat | repeat-x | repeat-y;
默认情况下是平铺的
repeat:平铺
no-repeat:不平铺
repeat-x:只对x轴进行平铺
repeat-y:只对y轴进行平铺
既可以添加背景颜色也可以添加背景图片,只不过背景图片会压住背景颜色

1.4、背景图片位置

格式:background-position:x y;
表示x坐标和y坐标,可以使用方位名词或者精确单位
方位名词:top center bottom left right
精确单位:百分数,由浮点数字和单位标识符组成的长度值

1.4.1、方位名词和精确单位

1、参数名词是方位名词
如果指定的两个值都是方位名词,则两个值前后顺序无关,效果一致,如果只指定一个方位名词,另一个值省略,则第二个值默认居中对齐
比如 background-position: center top;
2、参数值是精确坐标,那么第一个肯定是x坐标,第二个肯定是y坐标,如果只指定一个值,则该值一定是x坐标,另一个默认垂直居中
比如 background-position: 20px 50px;
3、参数是混合单位
是方位名词和精确坐标的混合
第一个值一定是x坐标

1.5、图像背景固定(背景附着)

格式:background-attachment:fixed|scroll;
scroll:滚动(默认)背景图像随着对象内容滚动
fixed:固定背景图像
后期可以制作视差滚动的效果

1.6、背景色半透明

格式:background: rgba(0,0,0,.3);
最后一个参数是alpha(透明度),取值在0-1之间,习惯把0.3的0省略掉
改变的是背景颜色半透明,盒子里面的内容不受影响
是CSS3新增属性,是IE9+版本浏览器才支持的,但是在实际开发中,不太关注兼容性写法,可以放心使用

1.7、背景属性的复合写法

将属性合并简写在background中
没有特定的书写顺序,一般习惯约定的顺序为:
background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
background: transparent url(image.jpg) repeat-y fixed top;
各个属性用空格隔开,在实际开发中推荐使用

2、CSS的三大特性

层叠性、继承性、优先级

2.1、层叠性

场景:相同选择器给相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式,层叠性主要解决样式冲突的问题
原则:
1、样式冲突,就近原则,哪个样式离结构近,就执行哪个样式
2、样式不冲突,不会层叠

2.2、继承性

场景:子标签继承父标签的某些样式,主要是文字类的继承,比如text-/font-/line-以及color属性
作用:简化代码,降低CSS样式复杂性

特殊:行高的继承
格式:font:12px/1.5 “Micorsoft Yahei”;}
1.5是行高,表示子元素(当前)文字大小的1.5倍,行高可以跟单位也可不跟
如果没有指定子元素文字大小,则会继承父类元素文字行高的1.5倍
body行高的1.5倍,优势在于里面的子元素可以根据body文字的大小自动调整行高

2.3、优先级

场景:同一个元素指定多个选择器时会产生优先级
原则:
选择器相同,执行层叠性
选择器不同,根据权重执行

选择器选择器权重
继承或者*0,0,0,0
元素选择器0,0,0,1
类选择器,伪类选择器0,0,1,0
ID选择器0,1,0,0
行内样式style=“”1,0,0,0
!important无穷大

权重依次变大
style的使用:<div style="color: purple">
!important的使用:color: pink;!important;

优先级注意点
1、权重由4组数字组成,会叠加但是没有进位
2、等级判断从左到右,依次比较
3、对子元素,继承的权重是0,不管父元素的权重
4、a链接浏览器默认指定样式,为蓝色有下划线,所以不执行父元素的继承,需要单独指定

2.3.1、权重的叠加

场景:复合选择器会有权重叠加的问题
举例:

<style>
       ul li {             
              color: green;
              }
           li {             
              color: pink;
              }
           .nav li{           
                   color:pink;
                   }
</style>

ul中li的权重是0,0,0,1+0,0,0,1=0,0,0,2
li中的权重是0,0,0,1
.nav中li权重是0,0,1,0+0,0,0,1=0,0,1,1
所以.nav中的li权重最大,执行 color: pink 的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值