内容简介:最近工作中有机会复习一下css的基本知识,那么先从css的盒模型开始吧,因为这是当时进现在这家公司笔试的第一题:怎么把IE盒模型变成标准盒模型?嗯,有办法,box-sizing: border-box;就可以啦。嗯,过关啦,那么标准盒模型和怪异盒模型分别是什么东西呢?
最近工作中有机会复习一下css的基本知识,那么先从css的盒模型开始吧,因为这是当时进现在这家公司笔试的第一题:怎么把IE盒模型变成标准盒模型?
嗯,有办法,box-sizing: border-box;就可以啦。
嗯,过关啦,那么标准盒模型和怪异盒模型分别是什么东西呢?
盒模型
包括content-内容,padding-内边距,border-边框,margin-外边距。具体参见 链接描述
常见的css盒模型分两类:怪异(IE)盒模型和标准盒模型,两种盒模型有着很大的不同。
提出组织 | 元素宽度计算方式(高度计算类比宽度) | |
---|---|---|
标准盒模型 | w3c | content宽度 |
怪异(IE)盒模型 | IE | content宽度 + padding值 + border值 |
用图片表示可能更形象一点:
上文说过,有办法让这两种盒模型互相转换,那就是通过box-sizing这个属性:
box-sizing就是告诉浏览器怎么去计算一个元素的宽高。
有两个取值:content-box和border-box,分别对应两种计算方式。
content-box只包含元素内容的宽度。如果给设置了border或者padding,元素的总宽度就要加上border和padding值。
border-box包含元素内容的宽度,padding和border值。
实例如下:
<!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="css/style.css" rel="stylesheet"> <style> div{ width: 100px; height: 100px; background: grey; padding: 50px; border: 30px solid pink; text-align: center; } .content-box{ /* 默认的box-sizing: content-box; */ } .border-box{ box-sizing: border-box; margin-left: 30px; } </style> </head> <body> <div class="content-box">content box</div> <p>分割线</p> <div class="border-box">border box</div> </body> </html>
结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 能量视角下的GAN模型(三):生成模型=能量模型
- 提高模型准确率:组合模型
- JVM内存模型 与 JMM内存模型
- Golang并发模型:轻松入门流水线模型
- C++11 中的内存模型(上):内存模型基础
- 机器学习中的判别式模型和生成式模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。