CSS布局基础:盒模型、display、line-height

01 什么是盒模型,IE 盒模型和W3C盒模型有什么区别?

  • IE盒模型:width:=content的宽度+padding的宽度+border的宽度
  • W3C盒模型:width=content的宽度

当我们设置好width的值后,再增加padding或者border的时候,IE盒会通过压缩content 的宽度来增加pading或者borderd的的宽度;而对于W3C盒并不会这样,它是直接在contentde 宽度外面加上pading或者borderd的的宽度;

盒模型

02 CSS 的属性box-sizing有什么值?分别有什么作用?

content-box:宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框(元素默认效果)。

border-box:元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

03 line-height: 2和line-height: 200%有什么区别?

  • 它们的line-height值都是当前元素font-size值得2倍,主要区别在于对子元素继承的影响。

解析:

line-height的值可以分为两类:

1)不带单位的(如line-height:2),推荐使用

当line-height的值为 2时,后代元素会继承2这个值,而不是继承父元素的计算后的值;
如下图中,子元素1的line-height是继承父元素1的line-height:2;然后通过计算2*30px=60px,而不是继承父元素1经过计算的line-height40px。


line-height1.png

2)带单位的(如line-heigth:20px/2em/200%)
当line-height的值为200%/2em/20px,其后代元素的line-height会继承该父元素line-height经过计算的具体值,而不是200%/2em/20px。

如下图中,子元素2的line-height就是继承父元素的line-height经过计算的值,200%*20px=40px

line-height2.png

Demo:
http://js.jirengu.com/vugaliyite/1/edit?html,css,output

04 inline-block有什么特性?如何去除缝隙?高度不一样的inline-block元素如何顶端对齐?

  • 既呈现inline特性(不占据一整行,宽度由内容宽度决定),又呈现block特性(可设置宽高,内外边距)
  • 行内元素换行以及他们之间的空格符会导致两个行内元素之间产生缝隙。解决办法不换行,或者在他们外面包裹一个元素,并设置font-size:0;然后再重新设置行内元素的font-size。
  • 行内元素对齐默认是以里面内容的底部对齐,可以通过设置vertical-align:top(bottom、middle等)进行更改对齐方式(在表格中使用尤为明显)
1.top
使元素及其后代元素的顶部与整行的顶部对齐。
2.bottom
使元素及其后代元素的底部与整行的底部对齐。
3.middle
使元素的中部与父元素的基线加上父元素x-height(译注:x高度)的一半对齐。

注意 vertical-align 只对行内元素、表格单元格元素生效:不能用它垂直对齐块级元素。

默认对齐

顶部对齐

05 让一个元素"看不见"有几种方式?有什么区别?

  • display: none;

给元素设置display: none;后,元素会从页面中彻底消失,它原本占据的空间会被其他元素占有,会造成浏览器的回流与重绘。

  • visibility: hidden;

给元素设置visibility: hidden;后,元素会从页面中消失,它原本占据的空间会被保留,会造成浏览器的重绘,适用于希望元素隐藏又不影响页面布局的场景。

  • opacity: 0;

给元素设置opacity: 0;后,元素变成透明的我们肉眼就看不到了,所以原本占据的空间还在。

  • background-color:transparent;

设置透明色。

06 其他可能遇到的问题

(1) inline-block 导致父元素增高若干像素

  • 给 inline-block 元素设置 vertical-align: top
.item {
  vertical-align: top;
  display: inline-block;
  ...
}
  • 通用解决办法 不要设置 inline-block,使用 float 或 flex。

(2) outline 问题

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

推荐阅读更多精彩内容