css盒模型样式属性简述

概念

box:盒子,每个元素在页面中都会生成一个矩形区域。

盒子的类型

  1. 行盒:display为inline的元素(行级元素)。

  2. 块盒:deisplay为block的元素(块级元素)。

行盒在页面中不换行,块盒在页面中独占一行。

盒子的组成部分

盒模型组成部分

注意:无论是行盒还是块盒都由以下几个部分组成。

  1. content(内容区域)

width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸。

  1. padding(内边距)

元素的内边距在边框和内容区之间。

  1. border(边框)

元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。

border: border-style border-width border-color;
  1. margin(外边距)

围绕在元素边框的空白区域是外边距。

盒模型计算问题

计算可视区宽:width + 2*border + "padding-left" + "padding-right"。

计算可视区高:height + 2*border + "padding-top" + "padding-bottom。

行盒的盒模型

常见的行盒:(包含具体内容的元素)span、strong、em、i、a。

显著特点

  • 盒子沿着内容延伸
  • 不能设置宽高

调整行盒的宽高,应该使用字体大小、行高、字体类型以此来间接调整。

块盒的盒模型

常见的块盒:div、h1~h6、p、header、footer、nav等。

显著特点

  • 盒子独占一行
  • 可以设置宽高

每个块盒的总宽度,必须刚好等于包含块的宽度。

注意:若宽度、边框、内边距计算后,仍有剩余空间,该剩余空间会被margin-right全部吸收。

行块盒的盒模型

常见的行块盒:img、video、audio。

显著特点

  • 不独占一行
  • 可以设置宽高

盒模型中的所有尺寸都有效。

面试题

1.盒模型的宽高计算问题。

盒模型分为两种:标准盒模型和怪异盒模型。

  • 标准盒模型(content-box):
    width = contentWidth + 2 * padding + 2 * border;

  • 怪异盒模型(border-box):width = boxWidht;

注意:如果要切换盒模型的模型,就使用css的box-sizing属性,content-box是标准盒模型,border-box就是怪异盒模型。

2. 浏览器默认的margin值是多少?

8px

3.画一个三角形(利用border)。

<style>
    div {
        width: 0;
        height: 0;
        border: 50px solid transparent;
        border-left: 50px solid red;
    }
</style>

<div></div>
border

4.display的属性值有哪些?说说它们的作用?

1.none:元素不会显示,而且改元素现实的空间也不会保留。(但有另外一个visibility:hidden;,是保留元素的空间的。)

2.inline:display的默认属性,将元素显示为内联元素,元素前后没有换行符。一旦将元素的display设置为inline,设置属性height和width是没有用的。此时影响它的高度一般是内部元素的高度(font-size和padding)。

3.block:将元素显示为块级元素,元素前后会带有换行符。设置block后,元素可以设置height和width。元素独占一行。

4.inline-block:行内块元素。这个属性值融合了inline和block的特性,即它即是内联元素,又可以设置height和width。

5.请给出页面使用display:inline-block;来布局时,出现空白间隙的解决办法。(如何去掉img的间隙?可以不解决,因为上传 的文件都是经过压缩的。)

方法一:去空格(压缩)。
方法二:利用margin把图片往左挪。
方法三:把父元素的font设置为0。

注意:凡是带有inline的元素,都带有文字特性(文本空隙)。

6.display:none;和visibijity:hidden;的区别?

给一个元素设置了display:none;,那么该元素以及它的所有后代元素都会隐藏,隐藏后的元素无法点击,元素所占据的空间也会消失。

给元素设置visibility:hidden;,也可以隐藏这个元素,但是隐藏元素后元素仍占据与未隐藏时一样的空间,也就是说,虽然元素不见了,但是仍然会影响页面布局。

visibility具有继承性,给父元素设置visibility:hidden;子元素也会继承这个属性。但是如果重新给子元素设置visibility:visible;则子元素又会显示出来。

visibility:hidden;不会影响有序列表排列的顺序变化。

注意:css3的transition支持visibility属性,但是并不支持display,由于transition可以延迟执行,因此可以配合visibility使用纯css实现hover延时显示效果,提高用户体验。

7.css隐藏元素的办法?

1.display:none;将元素设置为display:none;后,元素在页面上将彻底消失,元素本来占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘。

2.visibility:hidden;元素在页面消失后,其占据的空间依旧会保留着,所以,它只会导致浏览器的重绘而不会重排。

3.opacity:0;设置透明度为0后,元素只是隐身了,它依旧存在页面中。

8.浏览器标准模式和怪异模式之间的区别?

由于历史原因,不同浏览器对页面的渲染是不同的,甚至同一浏览器的不同版本也是不同的。在w3c标准出台之前,不同的浏览器在页面的渲染上没有统一的规范,产生了差异,即Quirks mode(怪异模式或兼容模式);当w3c标准出台之后,不同浏览器对页面的渲染有了统一的标准,即Strict mode(标准模式或严格模式);这就是两者之间的区别。

  • 盒模型的处理差异:

标准css盒模型的宽度和高度等于内容区的宽度和高度,不包含内边距和边框;而IE6之前的浏览器实现的盒模型的宽高计算方式包含内边距和边框的。因此,对于IE,怪异模式和标准模式下的盒模型的宽高计算方式是不一样的。

  • 行内元素的垂直对齐:

很多早期浏览器对齐图片至包含它们的盒子的下边框,虽然css的规范要求它们被对齐至盒内文本的基线。

标准模式下,基于Gecko的浏览器将会对齐至基线,而在怪异模式下它们会对齐至底部。最直接的例子就是图片的显示。

在标准模式下,图片并不是与父元素的下边框对齐的,如果仔细观察,你会发现图片与父元素的下边框之间存在一点小空隙,那是因为标准模式下,图片是基于基线对齐的;而怪异模式下,则不存在这个问题。

  • 可以设置行内元素的宽高:

在标准模式下,给span等行内元素设置width和height都不会生效;而在怪异模式下,则会生效。

  • 可设置百分比的高度:

在标准模式下,一个元素的高度是有其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。

  • 用margin:0 auto设置水平居中,在IE下会失效:

使用margin:0 auto在标准模式下可以使元素水平居中,但在怪异模式下却会失效,怪异模式下的解决办法,用text-align属性设置为center。

  • 怪异模式下设置图片的padding会失效。

  • 怪异模式下table中的字体属性不能继承上层的设置。

  • 怪异模式下white-space:pre;会失效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容