CSS知识点(三)

作者: 饥人谷_喂鱼de猴子 | 来源:发表于2016-12-11 01:19 被阅读0次

    css是层叠样式表,它是网页之皮


    本文主要内容:

    1. 背景

    2. 雪碧图

    3. 隐藏/透明

    4. inline-block

    5. 盒模型


    背景

    当页面上某一个容器需要背景设置时,使用background属性

    • background-attachment
      决定了背景图是否随着页面滚动而滚动
      background-attachment: scroll; 默认值,背景图随着页面滚动而滚动。背景图相对于当前元素是固定位置的。(内容动背景图也动)
      background-attachment: fixed; 滚动页面的时候背景图不动,背景图悬浮,相对浏览器是固定位置的。(内容动背景图不动)
      background-attachment: inherit; 从父元素继承。

    • background-color: xxx;
      设置背景色为xxx;有效区域为元素的内容/padding/border(如果是虚线边框)
      background-color: red; 颜色名,设置背景色为red
      background-color: #ff0000; 十六进制值,设置背景色为#ff0000
      background-color: rgb(255,0,0); rgb代码,设置背景色为gba(255,0,0)
      background-color: transparent; 设置背景色为透明
      background-color: inherit; 继承父元素属性

    • background-image
      为当前元素设置背景图,最好同时设置background-color以防background-image失效。
      默认占据元素的内容+padding+边框,处于元素的左上角并在水平+竖直方向平铺。
      background-image: url(xxx.gif); 把xxx这个图片地址的图片设置为背景图。(xxx是一个地址)

    • background-position
      设置背景图片的位置,如果背景图需要平铺,就从这一点开始。
      background-position: 1px 1px; 可以是两个数值,代表了水平坐标和垂直坐标。如果只有一个值,第二个值默认50%。
      background-position: 10% 10%; 两个百分数,左上角是0% 0%; 右下角是100% 100%; 只有一个值的话第二个值默认50%。
      background-position: left top; 两个关键词,特性同上。

    • background-repeat
      设置是否以及如何复制背景图。
      background-repeat: no-repeat; 不重复
      background-repeat: repeat-x; 背景图在水平方向重复
      background-repeat: repeat-y; 背景图在竖直方向重复
      background-repeat: repeat; 默认值,在水平和竖直方向都重复

    • background-size
      设置背景图片的尺寸(必须把容器撑开)
      background-size: 100px 200px; 水平和竖直的数值,如果只写一个值,第二个值就是auto
      background-size: 10% 35%;同上
      background-size: cover; 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。(可能上下占满但是左右只能显示一部分背景图,图片展示不全)
      background-size: contain; 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。(正好显示背景图,可能比例不合理)


    雪碧图

    原理:为了减少图片请求,把小图片(icon)集成到一张图上,然后用css定位来显示需要的图片区域。
    把容器当作窗户,要雪碧图的哪个部分,就用background-position属性调整。


    隐藏/透明

    1. display: none;
    2. opacity: 0;
    3. visibility: hidden;
    4. bacground-color: rgba(0,0,0,0.2);

    display: none;
    浏览器不会再去绘制这个元素,元素消失了,也不会占用位置。

    visibility: hidden;
    只是用户看不见了,但是元素仍然存在,浏览器知道它的存在,会占据位置,

    opacity: 0;
    透明度为0,根上面的一样,会占据位置。

    bacground-color: rgba(0,0,0,0.2);

    针对背景色,设置背景色透明。


    inline-block

    通过display: inline-block; 进行设置,同时拥有inline和block的特性。

    inline-block特性:
    1.不占据一整行
    2.可以设置宽高
    3.可以正常使用margin和padding属性

    常见问题:

    1. 使用inline-block属性时要注意兼容性
    2. 可以使用vertical-align和text-align两个属性调整inline-block元素的竖直和水平对齐。(谁要对齐用谁身上)
    3. 缝隙问题
      为什么有缝隙呢,因为inline-block的元素的代码之间存在空格,被浏览器识别为空白字符,所以生成了缝隙。
      解决方式:
      1. 把代码紧密连上。(这样不太方便阅读)
      2. 在父元素上设置font-size: 0; 如果inline-block元素里有文字再重新设置子元素的font-size。(常用)

    盒模型

    正常盒模型由内容区+padding+border+margin组成,宽度=内容区宽度
    ie678如果没声明html5,会使用怪异模式,宽度=内容区宽度+padding+border

    相关文章

      网友评论

        本文标题:CSS知识点(三)

        本文链接:https://www.haomeiwen.com/subject/gvdumttx.html