CSS3:box-sizing:不再为盒子模型而烦恼_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:38:29
原创
1437人浏览过

题外话:

w3c奉行的标准,就是content-box,就是需要计算边框,填充还有内容的;但是就我个人而言,
比较喜欢的是传统ie6时候的怪异模式,不用考虑容器是否会被撑开(打乱布局);

盒子模型差异

盒子大小计算原理

W3C标准盒子 = (边框 + 填充 + 内容块大小) ,牵一发而动全身;
传统IE6盒子 = 整体宽高(边框,填充和随盒子大小而调整变化)

若是计算占用位置,两种盒子都要算上margin(边距)

简言之,W3C标准盒子是需要相加各种大小得到总体的宽高,而传统的IE6是从整体减去内在元素大小而达到调整效果

CSS3:box-sizing

box-sizing : content-box | border-box | inherit;,针对火狐的还有个padding-box,几乎不用啊!!!

立即学习前端免费学习笔记(深入)”;

  • content-box : 标准的W3C盒子模型
  • border-box: 传统IE6的盒子模型
  • padding-box: 目前只对火狐生效,也是减去适应..但是从padding开始
  • 验证及效果

    代码

    简易代码,三个盒子

    盘古大模型
    盘古大模型

    华为云推出的一系列高性能人工智能大模型

    盘古大模型 35
    查看详情 盘古大模型
    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>box-sizing</title>    <style> .demo1,.demo2,.demo3{ width:200px; height:200px; background-color: #2277AD; margin:20px; } .demo1{ box-sizing: content-box; border:30px solid #12D732; padding:10px; } .demo2{ box-sizing: border-box; border:30px solid #12D732; padding:10px; } .demo3{ box-sizing: padding-box; border:30px solid #12D732; padding:10px; } </style></head><body>    <div class="demo1">        我是盒子内部的内容啊!!    </div>    <div class="demo2">        我是盒子内部的内容啊!!    </div>    <div class="demo3">        我是盒子内部的内容啊!!    </div></body></html>
    登录后复制

    效果图

  • 标准模型的盒子大小(280X280) = 200 +10*2 + 30*2 ? 相加效果
  • 传统IE6盒子大小(200X200) = 120 + 10 * 2 + 30*2 ? 减去效果
  • 针对火狐的padding-box盒子大小(260X260) = 180 + 10*2 + 30*2 ?减去效果从padding开始
  • 总结
    1. 这个属性支持IE8+,其他浏览器基本都支持了(应该很少人用非常老的FF,CHROME这些吧)
    2. 感觉border-box非常适合用来排版布局,因为不用担心内距填充这些导致盒子大于包裹层大小,导致换行,或者其他乱七八糟的问题
    3. 标准盒子也有他的好处,可以针对性的控制内容块的大小..很细致的做出调整,就是需要计算比较麻烦点

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号