width与height css世界的尺寸

width具体细节

1、width :auto;至少包含四种表现形式:

  • 充分利用可利用的空间,div p元素的默认宽度就是父级元素
  • 收缩与包裹,包裹性也就是css3中的 fit-content
  • 收缩到最小 在table-layout:auto的表格中。一柱擎天的样子
  • 超出容器,特俗情况,width:auto的时候会超出父元素的宽度,就比如出现内容很长的连续英文和数字,white-space:nowrap

2、宽度和流体特性

以上的四种宽度,1是外部宽度,234是内部宽度

外部宽度和流的特性

  • 正常流宽度 但是如果我们给一个表现为外部尺寸的块级元素设置了宽度,流动性就会丢失
  • 格式化宽度position:absolute/fixed
    一般来说绝对定位宽度表现为包裹性,由内部尺寸决定,有一种例外,当left/right top/bottom同时存在的时候

内部宽度和流的特性:

  • 包裹性(1 包裹性 2 自适应性)
    自适应性是指 元素尺寸由内部元素决定,但是永远的小于包含块容器的尺寸
  • 首选最小宽度
    • 中文(东亚文字)的最小宽度是14
    • 西方文字的最小宽度 由特定的连续的英文字符单元决定
    • 类似于图片的这种替换元素的最小宽度是自己本身
  • 最大宽度
    元素能达到的最大宽度,其实就是包裹性元素设置的white-space:nowrap申明后的宽度。
    如果内部没有块级元素或者是块级元素没有设定宽度值,最大宽度实际上是连续内联盒子的宽度

3、 width的细节

有四种盒子:content box,padding box,border box,margin box
宽度的表现设定不合理的原因:

  1. 设置宽度流动性丢失,尤其是宽度设定在content上的时候
  2. 与现实世界表现不一致的困扰;可能是指的宽度是content的,但是开发者以为是包含了padding 或者是border

4、css流体布局下的宽度分离原则

宽度分离原则:width不与影响宽度的属性如:padding/border属性共存

//不推荐这么写
.box{width:100px;border:1px solid ;}
//要分开写
.father{width:100xp;}
.son {
margin:0 20px;
padding:0 20px;
border:1px solid;
}

如上就是设置了父元素,然后子元素根据流动性实现内部自适应
张鑫旭就推荐,整个html只有一个widht,然后剩下的就全用流体布局实现。

5、 box-sizing

可以理解为宽度作用的细节

box-sizing :content-box;/**默认值**/
box-sizing :padding-box/**firefox支持**/
box-sizing :border-box;/**全线支持**/
box-sizing :margin-box;/**都不支持**/

box-sizing :border-box;d的时候,其实是相当于width包含了content paddingborder的宽度。

但是为什么不支持margin-box呢?
因为改变margin并不会影响offset的尺寸 但是borderpadding就不一样了
如果有了box-sizing支持了margin-box那么background-origin属性要不要支持,margin的背景永远透明在规范里标明了

*{box-sizing:border-box}
/**这种方式不好,1浪费渲染,search的搜索框本来就是这个属性,2、不能真正的实现无计算**/

/**推荐**/
input ,textarea,img,video ,object{
box-sizing:border-box;
}
/**因为box-sizing设计的主要目的还是为了这种原色普通文本框和文本域的计算**/

height 的细节

1、height:100%

如果父元素不确定的话,那么height的百分比基本上就可以当成没看见了。
原因:如果包含块的高度没显示指定(即高度由内容决定,且该元素不是绝对定位,那么计算值就是auto) 'auto'* 100% = nan

如何支持100% 的高度

1、显示的确定高度
2、使用绝对定位,注意的是绝对定位元素的百分比和非绝对定位元素的百分比是有区别的。

  • 绝对定位的百分比是相对于padding-box
  • 非绝对定位的百分比是相对于content box

min-width /max-width /min-height/max-height

1 、min-width /max-width 与流

其出现一定是自适应布局 或者是流布局中出现的。如果定死了,就没有变化的可能性

2、与众不同的初始值

max-*系列,初始值是:none
min-*系列的初始值是:auto
为什么max系列不能使auto呢?如果父元素是100px子元素是200px,如果默认max-widthauto也就是max-width:100px;直接让子元素的200px无效,所以不能使auto

3、max 会覆盖width 哪怕你是important

如果一个元素width:100px!important但是max-width:20px;那么宽度还是20px
超越最大:min 覆盖max
如果max-width:50px;min-width:100px;那么超越最大的原则,min就会赢了,元素为100px

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,751评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,446评论 5 15
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,753评论 0 2
  • 今天是香港回归20周年。 香港回归20年,却被形容成一个“少做少错,不做没错”的城市。曾经的东方之珠,是该何去何从...
    清风徐来之简书阅读 289评论 0 0
  • 什么是WebGL WebGL使得在支持HTML的canvas标签的浏览器中,不需要安装任何插件,便可以使用基于Op...
    JetLu阅读 1,526评论 1 1