经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
CSS盒模型的介绍
来源:cnblogs  作者:没结尾的结尾  时间:2018/12/6 10:06:10  对本文有异议

CSS盒模型的概念与分类

     CSS盒模型就是一个盒子,封装周围的HTML元素,它包括内容content、边框border、内边距padding、外边距margin。

      CSS盒模型分为标准模型和IE模型;

 

标准模型和IE模型的区别

      标准模型的width是内容content 的宽度;                                                   设置方式: box-sizing:content-box;

       IE模型的width是内容content + 边框border + 内边距paddig 的宽度;        设置方式: box-sizing:border-box;

 

通过js如何获取盒模型的宽高

     1.dom.style.width/height                  只能获取到dom的内联样式

     2.dom.currentStyle.width/height          获取到的是dom的实际宽高,但这种方式只在IE中可以使用

     3.window.getComputedStyle(dom,null).width/height                    获取到的是dom的实际宽高,但是不支持IE

     4.dom.offsetWidth/offerHeight                      最常用的,兼容性最好的

     第2,3个组合下就可以兼容ie与其他浏览器了 

  1. window.getComputedStyle ? window.getComputedStyle(obj,null).width : obj.currentStyle.width;

 

边距重叠

     边距重叠就是相邻元素的边距重叠在一起,出现了预期外的布局。比如子元素设置了margin-top,父元素没有设置,但是父元素也有了上边距。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>边距重叠</title>
  5. <meta charset="utf-8">
  6. <style type="text/css">
  7. html *{
  8. margin: 0;
  9. padding: 0;
  10. }
  11. .content{
  12. width: 500px;
  13. height:100px;
  14. background: green;
  15. }
  16. .parent{
  17. width: 300px;
  18. height: 300px;
  19. background: pink;
  20. }
  21. .child{
  22. width: 150px;
  23. height: 150px;
  24. background: yellow;
  25. margin-top: 50px;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="content">
  31. 占位内容区域
  32. </div>
  33. <div class="parent">
  34. <div class="child">
  35. </div>
  36. </div>
  37. </body>
  38. </html>

 

下图就是代码运行结果:

解决边距重叠-BFC

      1、BFC概念:块级格式化上下文

      2、BFC的原理:

           BFC的区域不会与浮动区域重叠

           计算BFC区域高度时,浮动区域也参与计算

           BFC区域是独立的一个区域,不与其他区域相互影响

      3、如何创建BFC

            脱离文档流:float不为none;position为absolutely或fixed

            overflow不为visible(如overflow:hidden)

            display为“table-cell”, “table-caption”,  “inline-block”中的任何一个

      4、BFC应用场景

            自适应两栏布局

            清除浮动

            防止垂直margin重叠

 

 

   

 

 

       

  

       

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号