最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • width 和 height

    正文概述 掘金(聒噪的观月叶蝉)   2021-02-28   643

    前言

    最近在看张鑫旭大佬的《CSS 世界》,整理并分享一下学习笔记。本文简单学习一下 widthheight,后面我会更进一步介绍盒模型。

    块级元素和内联元素

    首先我们简单区分二者的区别:

    • 块级元素
      • 块级元素会在页面中独占一行(自上向下垂直排列)
      • 默认宽度是父元素的全部(会把父元素撑满)
      • 默认高度是被内容撑开(子元素)
    • 内联元素
      • 内联元素不会独占页面的一行,只占自身的大小
      • 内联元素在页面中左向右水平排列,如果一行之中不能容纳下所有的行内元素则元素会换到第二行继续自左向右排列(书写习惯一致)
      • 内联元素的默认宽度和高度都是被内容撑开

    我们可以通过 display 属性来改变 HTML 的默认设置。

    外在盒子和容器盒子

    每个元素都有两个盒子,外在盒子和容器盒子,外在盒子负责元素是可以一行显示还是只能换行显示,容器盒子负责宽高、内容呈现什么的。

    盒尺寸

    width 和 height

    盒尺寸即上文所说容器盒子,由 margin boxborder boxpadding boxcontent box组成

    水平方向盒尺寸组成:

    • margin-left
    • border-left
    • padding-left
    • width
    • padding-right
    • border-right
    • margin-right

    并且等式:margin left + border left + padding left + width + padding right + border right + margin right == 父元素宽度 恒成立,如果相加结果使等式不成立,则称为过度约束,等式会自动调整

    调整的情况:

    • 如果这七个值中没有为 auto 的情况,则浏览器会自动调整margin-right值以使等式满足
    • 如果这七个值中有为 auto 的请情况
      • 这七个值中有三个值可设置为 autowidthmargin-leftmaring-right
      • 如果某个值为 auto ,则会自动调整为 auto 的那个值以使等式成立
      • 如果多个值为 auto ,优先调整 width,然后 margin-leftmaring-right 将平分剩余空间

    从下图中可以看出,虽然设置了 margin-right: 10px;,但是浏览器依然使用 margin-right 填充了剩余的全部宽度。

    width 和 height

    宽度分离原则

    宽度分离原则就是 CSS 中的 widht 不与影响宽度的paddingborder(有时候包括 margin )属性共存。

    主要做法使将 width 单独占一层标签,而 paddingbordermargin 利用流动性在内部自适应呈现。

    解决问题是 paddingbordermargin 会影响元素宽度,使用宽度分离从而降低元素布局复杂度,减少运算,有利于后期维护。

    box-sizing

    width 默认作用在内容区,即 content box,我们可以通过 box-sizing 进行更改。

    box-sizing 各浏览器主要支持 content-box, border-box

    height: 100%

    设置子元素 height: 100% 时须使父元素设置一个可以生效的高度值,否则高度为 0 。

    原因是因为 height 默认值为 auto ,无法与百分比计算。

    min-width/max-widthmin-height/max-height

    min-widthmin-height 默认值为 auto

    max-widthmax-height 默认值为 none

    max-widthmax-heightwidthheight 冲突时会使 widthheight 无效

    min-widthmax-width , min-heightmax-heigh 冲突时,会使用 min-*

    幽灵空白节点 shrut

    内联盒模型中,每个行框盒子的前面都有一个“空白节点”,占据高度但是宽度为 0 。


    起源地下载网 » width 和 height

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元