CSS布局-企业开发技巧总结(3)CSS三大特性/显示模式/背景切图

来自https://www.jianshu.com/u/4312c933b9db 极客江南网易云课程笔记

https://study.163.com/course/courseLearn.htm?courseId=1003864040

目录

CSS三大特性之继承性

CSS三大特性之层叠性

CSS三大特性之优先级

div和span标签

CSS元素的显示模式

CSS元素显示模式转换

背景颜色

背景图片

背景平铺属性

背景定位属性

背景缩写

背景图片和插入图片区别

CSS精灵图


CSS三大特性之继承性

1.什么是继承性?


作用: 给父元素设置一些属性, 子元素也可以使用, 这个我们就称之为继承性

注意点:
1.并不是所有的属性都可以继承, 只有以color/font-/text-/line-开头的属性才可以继承
2.在CSS的继承中不仅仅是儿子可以继承, 只要是后代都可以继承
3.继承性中的特殊性
      3.1  a标签的文字颜色和下划线是不能继承的
      3.2  h标签的文字大小是不能继承的

应用场景:


一般用于设置网页上的一些共性信息, 例如网页的文字颜色, 字体,文字大小等内容
body{}

CSS三大特性之层叠性

1.什么是层叠性?


作用: 层叠性就是CSS处理冲突的一种能力

注意点:


层叠性只有在多个选择器选中"同一个标签", 然后又设置了"相同的属性", 才会发生层叠性

CSS全称 Cascading StyleSheet

CSS三大特性之优先级

1.什么是优先级?


作用:当多个选择器选中同一个标签, 并且给同一个标签设置相同的属性时, 如何层叠就由优先级来确定

2.优先级判断的三种方式


      2.1间接选中就是指继承
          如果是间接选中, 那么就是谁离目标标签比较近就听谁的
      2.2相同选择器(直接选中)
         如果都是直接选中, 并且都是同类型的选择器, 那么就是谁写在后面就听谁
      2.3不同选择器(直接选中)
        如果都是直接选中, 并且不是相同类型的选择器, 那么就会按照选择器的优先级来层叠
        id>类>标签>通配符>继承>浏览器默认

优先级之important

1.什么是!important
作用: 用于提升某个直接选中标签的选择器中的某个属性的优先级的, 可以将被指定的属性的优先级提升为最高

注意点:
1.!important只能用于直接选中, 不能用于间接选中
2.通配符选择器选中的标签也是直接选中的
3.!important只能提升被指定的属性的优先级, 其它的属性的优先级不会被提升
4.!important必须写在属性值得分号前面
5.!important前面的感叹号不能省略

优先级之权重问题

1.什么是优先级的权重?
作用: 当多个选择器混合在一起使用时, 我们可以通过计算权重来判断谁的优先级最高

2.权重的计算规则
          2.1首先先计算选择器中有多少个id, id多的选择器优先级最高
          2.2如果id的个数一样, 那么再看类名的个数, 类名个数多的优先级最高
          2.3如果类名的个数一样, 那么再看标签名称的个数, 标签名称个数多的优先级最高
          2.4如果id个数一样, 类名个数也一样, 标签名称个数也一样, 那么就不会继续往下计算了, 那么此时谁写在后面听谁的
也就是说优先级如果一样, 那么谁写在后面听谁的

注意点:
1.只有选择器是直接选中标签的才需要计算权重, 否则一定会听直接选中的选择器的

div和span标签

1.什么是div?


作用: 一般用于配合css完成网页的基本布局       块状

2.什么是span?


作用: 一般用于配合css修改网页中的一些局部信息   行内

3.div和span有什么区别?


1.div会单独的占领一行,而span不会单独占领一行
2.div是一个容器级的标签, 而span是一个文本级的标签

4.容器级的标签和文本级的标签的区别?


容器级的标签中可以嵌套其它所有的标签
文本级的标签中只能嵌套文字/图片/超链接

容器级的标签
div h ul ol dl li dt dd ...

文本级的标签
span p buis strong em ins del ...

注意点:


哪些标签是文本级的哪些标签是容器级的, 我们不用刻意去记忆,

在企业开发中一般情况下要嵌套都是嵌套在div中, 或者按照组标签来嵌套

CSS元素的显示模式

在HTML中HTML将所有的标签分为两类, 分别是容器级和文本级
在CSS中CSS也将所有的标签分为两类, 分别是块级元素和行内元素

1.什么是块级元素, 什么是行内元素?


块级元素会独占一行
行内元素不会独占一行

容器级的标签
          div h ul ol dl li dt dd ...
文本级的标签
          span p buis stong em ins del ...

块级元素
          p div h ul ol dl li dt dd
行内元素
          span buis strong em ins del

2.块级元素和行内元素的区别?


2.1块级元素
          独占一行
          如果没有设置宽度, 那么默认和父元素一样宽
          如果设置了宽高, 那么就按照设置的来显示

2.2行内元素
          不会独占一行
          如果没有设置宽度, 那么默认和内容一样宽
          行内元素是不可以设置宽度和高度的

2.3行内块级元素
          为了能够让元素既能够不独占一行, 又可以设置宽度和高度, 那么就出现了行内块级元素

CSS元素显示模式转换

1.如何转换CSS元素的显示模式?


设置元素的display属性

2.display取值


         block 块级
         inline 行内
         inline-block 行内块级

3.快捷键


         di display: inline;
         db display: block;
         dib display: inline-block;

背景颜色

1.如何设置标签的背景颜色?


在CSS中有一个background-color:属性, 就是专门用来设置标签的背景颜色的

取值:
具体单词
         rgb
         rgba
         十六进制

快捷键:
bc background-color: #fff;


背景图片

1.如何设置背景图片?


在CSS中有一个叫做background-image: url();的属性, 就是专门用于设置背景图片的

快捷键:
         bi background-image: url();

注意点:


1.图片的地址必须放在url()中, 图片的地址可以是本地的地址, 也可以是网络的地址
2.如果图片的大小没有标签的大小大, 那么会自动在水平和垂直方向平铺来填充
3.如果网页上出现了图片, 那么浏览器会再次发送请求获取图片

背景平铺属性

1.如何控制背景图片的平铺方式?


在CSS中有一个background-repeat属性, 就是专门用于控制背景图片的平铺方式的

取值:
repeat 默认, 在水平和垂直都需要平铺
no-repeat 在水平和垂直都不需要平铺
repeat-x 只在水平方向平铺
repeat-y 只在垂直方向平铺

快捷键
         bgr background-repeat:

应用场景:
         可以通过背景图片的平铺来降低图片的大小, 提升网页的访问速度

背景定位属性

1.如何控制背景图片的位置?


在CSS中有一个叫做background-position:属性, 就是专门用于控制背景图片的位置

2.格式:


background-position: 水平方向 垂直方向;

3.取值


2.1具体的方位名词
水平方向: left center right
垂直方向: top center bottom

2.2具体的像素
例如: background-position: 100px 200px;
记住一定要写单位, 也就是一定要写px
记住具体的像素是可以接收负数的

快捷键:


bp background-position: 0 0;

注意点:
同一个标签可以同时设置背景颜色和背景图片, 如果颜色和图片同时存在, 那么图片会覆盖颜色

背景缩写

1.背景属性缩写的格式


background: 背景颜色 背景图片 平铺方式 关联方式 定位方式;

快捷键:
bg+ background: #fff url() 0 0 no-repeat;

2.注意点:


background属性中, 任何一个属性都可以被省略

3.什么是背景关联方式?


默认情况下背景图片会随着滚动条的滚动而滚动, 如果不想让背景图片随着滚动条的滚动而滚动, 那么我们就可以修改背景图片和滚动条的关联方式

4.如何修改背景关联方式?


在CSS中有一个叫做background-attachment的属性, 这个属性就是专门用于修改关联方式的

格式
         background-attachment:scroll;

取值:
         scroll 默认值, 会随着滚动条的滚动而滚动
         fixed 不会随着滚动条的滚动而滚动

快捷键:
         ba background-attachment:;

背景图片和插入图片区别

1.背景图片和插入图片区别?


1.1
         背景图片仅仅是一个装饰, 不会占用位置
         插入图片会占用位置

1.2
         背景图片有定位属性, 所以可以很方便的控制图片的位置
         插入图片没有定位属性, 所有控制图片的位置不太方便

1.3
         插入图片的语义比背景图片的语义要强, 所以在企业开发中如果你的图片想被搜索引擎收录, 那么推荐使用插入图片

CSS精灵图

1.什么是CSS精灵图


CSS精灵图是一种图像合成技术

2.CSS精灵图作用


可以减少请求的次数, 以及可以降低服务器处理压力

3.如何使用CSS精灵图

利用软件(Macromedia Firework8)

使用步骤

         1.打开目标图片

         2.右侧背景点击锁定

         3.左侧选择点击切片图标

         4.鼠标选择切片区域

         5.按住ctrl 滚轴放大缩小,选择后,按住ctrl进行细节调整

         6.界面左下角显示所需数据

   .box{
            width: 128px;
            height: 42px;/*所切图的宽高*/
            background-image: url(images/weibo.png);
            background-position: -285px -357px;/*所切图片的x,y值(取负值)*/         
        }      


CSS的精灵图需要配合背景图片和背景定位来使用

猜你喜欢

转载自blog.csdn.net/qq_16546829/article/details/82080292
今日推荐