• 行内元素和块级元素有哪些 区别? css盒子模型


     区别:
       1)块级元素会独占一行,其宽度自动填满其父元素宽度
            行内元素不会独占一行,相邻的行内元素会排列在同一行里,知道一行排不下,才会换行,其宽度随元素的内容         而变化
       2) 块级元素可以设置 width, height属性,行内元素设置width,  height无效
             【注意:块级元素即使设置了宽度,仍然是独占一行的】
       3) 块级元素可以设置margin 和 padding.  行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)

    1 margin越界(第一个子元素的margin-top和最后一个子元素的margin-bottom的越界问题)

    (1)给父元素加边框border (副作用)

    (2)给父元素设置padding值  (副作用)

    (3)父元素添加 overflow:hidden (副作用)

    (4)父元素加前置内容生成。(推荐)   

    .parent : before {
         content : " ";
         display : table;
    }
    box-sizing属性介绍

    (1) content-box ,默认值,可以使设置的宽度和高度值应用到元素的内容框。盒子的width只包含内容。

      即总宽度=margin+border+padding+width

    (2) border-box , 设置的width值其实是除margin外的border+padding+element的总宽度。盒子的width包含border+padding+内容

        即总宽度=margin+width

    很多CSS框架,都会对盒子模型的计算方法进行简化。

    (3) inherit , 规定应从父元素继承 box-sizing 属性的值

    关于border-box的使用:

    1 一个box宽度为100%,又想要两边有内间距,这时候用就比较好
    2 全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减,它还有一个关键作用——让有边框的盒子正常使用百分比宽度。

  • 相关阅读:
    linux mysql添加用户名并实现远程访问
    bootstrap-datetimepicker时间控件的使用
    jquery图片左右来回循环飘动
    jquery 全选获取值
    设置linux编码utf-8
    nginx 自签名https
    Laravel 邮件配置
    memcachq队列安装
    开发与运维使用常用工具
    composer配置和安装php框架
  • 原文地址:https://www.cnblogs.com/slb1994/p/6525961.html
Copyright © 2020-2023  润新知