元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。...因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。...; } 如果上、右、下、左的填充都为10px;可以这么写 div{padding:10px;} 如果上下填充一样为10px,左右一样为20px,可以这么写: div{padding:10px 20px;...(真霸道,一个块级元素独占一行) 2、元素的高度、宽度、行高以及顶和底边距都可设置。 3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。...实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%。 第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。
width 默认值为auto,其有4种不同的表现: 充分利用空间:div>的宽度默认是100%于父级容器的; 收缩与包裹:浮动、绝对定位(absolute、fixed)、inline-block元素或...,就算父级元素width为auto,其百分比值也是支持的;对于height属性,如果父级元素为auto,只要子元素在文档流中,其百分比值完全被忽略掉!...区别方式:父级容器添加overflow: auto;,层叠区域超出父级容器时,有滚动条则会影响尺寸,没有则纯视觉。...父级和第一个/最后一个子元素; 空块级元素; margin合并的意义:在页面中任何地方嵌套或直接放入任何裸div>,都不会影响原来的块状布局。...margin: auto 外部容器宽度为300px,内部元素宽度100px。
.resizable { resize: both; overflow: scroll; } div class="resizable">div> textarea class="resizable...收缩与包裹 width 默认值为 auto,其有4种不同的表现: 充分利用空间: 的宽度默认是100%于父级容器的; 收缩与包裹:浮动、绝对定位(absolute、fixed)、inline-block...中文是随便断的,英文单词不能断; 超出容器限制:内容很长的连续英文和数字,或者元素被设置了white-space: nowrap; 格式化宽度: 绝对定位(absolute、fixed)的元素,默认情况下宽度表现是...class="content">纸上得来终觉浅,绝知此事要躬行div> div> .box{text-align: center;} 决定了 $('.content')的水平对齐方式为居中对齐; ....利用 inline-block 的包裹特性即可实现:内容少,宽度自适应(文字left–撑满元素,元素center);超过一行,$('.content') 的宽度为父容器宽度300px(文字left,元素
对比水流和 CSS 文本流: div> 作为块级元素就像是铺满容器的水,注意是铺满;而 作为内联元素就像是漂浮在水中的木头。...这里需要注意一下块级元素的基本特征:一个水平流上只能单独显示一个元素,多个块级元素则换行显示。 除此之外,块级元素还有可以控制高度、行高、以及宽度默认为包含该块级容器的 100%。...内在的 “块级容器盒子” 组成,值为 inline 的元素则内外均是 “内联盒子”。...比如像 div> 这样的块级元素,它们的宽度默认是包含与它们的父级容器宽度的 100%。 (2)收缩与包裹,fit-content。指的是父元素的宽度会收缩到和内部元素宽度一样。...比如在 div { width: 100px; } 中 100px 的宽度是如何作用到这个 div> 元素上的。 要回答这个问题首先需要了解一下外在盒子和内在盒子(也称为容器盒子)。
2.2.子元素宽度设为100%时的奇怪现象原理探究 父元素的宽度 = 图片宽度 + 文字内容宽度 浏览器渲染原理:先下载文档内容,加载头部样式资源,然后按从上到下、自外而内的顺序渲染dom内容。...本例的现象产生的原因就是:当渲染到父元素时,子元素的width:100%并没有渲染,宽度就是图片加文字内容的宽度;等渲染到文字这个子元素的时候,父元素的宽度已经固定,此时的width:100%就是以固定好的父元素的宽度...; } 理论上父元素宽度应该是子元素宽度之和,但是却出现了上图的现象,原因归根就在于浏览器渲染的顺序:自外而内,这点十分重要。...的初始尺寸为none 2.min-height/min-width的优先级高于max-width/max-height 要想实现如上图所示的展开收起动画,就可以使用max-height/min-height...margin合并的三种场景 相邻兄弟元素 父级和第一个/最后一个子元素 * 解决方案: 父级设置为块级格式化上下文元素 父元素设置border-top/bottom值 父元素设置padding-top/
:silver; position:absolute; top:-5px;”>测试top div> 上面是一个段落P包含在一个DIV内,可以看到P的top设置为-5px后,它的上边距超过了容器...需要注意的是,DIV和P这一对包含元素,都需要设置position为absolute才能得到想要的结果,假如父元素不设置,则子元素的参照将是更上层定义过position的元素,直到整个文档; 2. posTop...posTop的数值其实和top是一样的,但区别在于,top固定了元素单位为px,而posTop只是一个数值(这一点可以通过alert(“top=”+id.style.top)和alert(“posTop... container.scrollTop = 12; 这一段文本在这个100*100的DIV内无法完全显示,所以设置了overflow为auto,它会出现一个上下方向的滑动框...因为已经指定了元素的height为100px,所以offsetHeight始终为100px;内部元素为250px,而容器元素只有100px,那么还有150px的内容它无法显示出来,但它却是实际存在的,所以
说明他们的作用。 block 块类型。默认宽度为父元素宽度,可设置宽高,换行显示。 none 缺省值。象行内元素类型一样显示。...默认宽度为内容宽度,不可设置宽高,同行显示。 inline-block 默认宽度为内容宽度,可以设置宽高,同行显示。 list-item 象块类型元素一样显示,并添加样式列表标记。...利用padding-bottom|margin-bottom正负值相抵; 设置父容器设置超出隐藏(overflow:hidden),这样子父容器的高度就还是它里面的列没有设定padding-bottom...(1)父级div定义height; (2)父级div 也一起浮动; (3)常规的使用一个class; .clearfix:before, .clearfix:after { content...,浮动元素的父级div定义伪类:after &:after,&:before{ content: " "; visibility: hidden; display
2.2.子元素宽度设为100%时的奇怪现象原理探究 父元素的宽度 = 图片宽度 + 文字内容宽度 浏览器渲染原理:先下载文档内容,加载头部样式资源,然后按从上到下、自外而内的顺序渲染dom内容。...本例的现象产生的原因就是:当渲染到父元素时,子元素的width:100%并没有渲染,宽度就是图片加文字内容的宽度;等渲染到文字这个子元素的时候,父元素的宽度已经固定,此时的width:100%就是以固定好的父元素的宽度...; } 复制代码 理论上父元素宽度因该是子元素宽度之和,但是却出现了上图的现象,原因归根就在于浏览器渲染的顺序:自外而内,这点十分重要。...但不包含浮动和绝对定位元素 在默认文档流下只出现在垂直方向 margin合并的三种场景 相邻兄弟元素 父级和第一个/最后一个子元素 * 解决方案: 父级设置为块级格式化上下文元素...触发margin:auto计算的前提:width或height为定值时,元素是具有自动填充特性的 ?
比如第一个例子中,父容器的宽度为 470 = 3*150 + 20。如果在不使用 flex 布局的情况下,你想让三个元素自适应屏幕宽度有什么好办法?...不仅如此,你也经常会听到「脱离文档流」,比如浮动,绝对定位等都可以脱离文档流,而脱离文档流不是本文要说的重点,所以就不展开多说,今天主要是聊一聊「流的自适应性」。...块级元素默认会充满整个屏幕,具有自适应性,而内联元素默认则是水平排列。 你可以想象为块级元素就想是水流一样充满容器,而内联元素就是漂浮在水里按照从左到右排列的物体。...比如以前我会写出这样的 CSS: span { display: block; width: 100%; } 如果明白流的特性的话,其实 width: 100%;这个属性是多余的,因为块级元素在流布局中默认是自动充满容器的...一旦你给元素添加了宽度(width)属性,它就会失去流动性,即便是它的值为 100%,也是会失去。 对,你没有看错,只要有了宽度属性,它就会失去了它最牛逼的流动性。这样就变的毫无价值。
,也会自动填充外部容器 例1: image.png 图中是一个div元素,可以看到设置了背景色之后,它的宽度自动填满了它所在的容器。...例2: image.png 我们设置左右定位值left:0; right:0;,它的宽度同样自动填充填满了它所在的容器,只不过它的容器是它的第一个父级相对定位元素。...上图宽度从填满整个所在的容器到宽度500px,这就产生了剩余空间,图中的剩余空白部分空间width=整个容器宽度-500px,而margin auto 就是 为了填充这个空白的尺寸设计的,这就是margin...因为图片是inline水平的,它占据的空间并没有撑满整个容器,如果没有设置宽度值。所以它就不满足margin auto 用来填充剩余空间的条件,因为他根本就没有剩余空间。...还需要注意一点:用margin:auto来实现居中,它计算后的值必须是正直,比如说你的父容器宽度1000px,子元素宽度2000px,这时设置margin:auto它是不居中的。
常见的行内元素有: a b span img button input label select textarea 「块级元素:」 块级元素占据父容器的整个宽度。...默认宽度为父元素宽度,可设置宽高,换行显示。如果不指定宽度,默认为100% 宽 none 元素不显示,并从文档流中移除 inline 行内元素类型。...默认宽度为内容宽度,不可设置宽高,同行显 inline-block 默认宽度为内容宽度,可以设置宽高,同行显示 list-item 像块类型元素一样显示,并添加样式列表标记。...块级元素block div ul ol li dl dt h1 h2 h3 h4 h5 h6 p 行内元素 inline a b span img button input label select textarea...❝解决方案: 可以使用 reset.css ,重置浏览器的css默认属性 ❞ ❞ 9. width:auto 和 width:100% 区别 ❝width : 100% : 它会的宽度等于父元素的宽度大小
CSS 什么是CSS CSS全称Cascading Style Sheet层叠样式表 用来调整美化网页(对不同的模块去调整宽度高度背景字体大小等) HTML用来填入基本网页整体内容和结构划分,而CSS...--id为a的标签被修饰 --> width: 100px; height: 100px; background: red;...--class为a的标签都被修饰 --> width: 100px; height: 100px; background: red...line-height:设置文本的行高 a:link:设置链接为访问时的文本状态 a:visited:设置链接已经访问过的状态 a:hover:设置链接的鼠标激活状态 边框属性 有上下左右和颜色样式宽度各种搭配...:就是只设置左边且只设置样式 块元素属性 margin外边距与padding内边距 块元素与内联元素 块元素:会独占一行,默认宽度是填充父元素的宽度,高度是内容的高度。
1.行内元素: 特点: 与其他行内元素并排,不能设置宽高,默认的宽度就是文字的宽度。... 文本框 textarea>...textarea> 多行文本 ...... 下拉列表 2.块级元素: 特点: 霸占一行,不能与其他任何元素并列。能接受宽高,如果不设置宽度,那么宽度将默认变为父级的100%。...块级元素:所有的容器级标签,都是块级元素,以及p标签。div , h系列 , li , dt ,dd。...div> 3.行内块元素 特点: 和相邻的行内元素(包含行内块)在一行上,它们直接会有空白缝隙; 一行可以显示多个; 默认宽度就是内容的宽度; 高度、宽度、内外边距都可以自定义; 注意了:
简明扼要 块级元素和display为block的元素不是一个概念 对于「非替换」元素,当left/right或top/bottom,「对立方位」的属性值「同时存在」的时候,元素的宽度表现为「格式化宽度」...---- width:auto ❝width的默认值是auto ❞ width:auto不同的宽度表现 充分利用可用空间Fill-Available:div>/宽度默认是100%于「父容器」 收缩与包裹...对应的规则如下: 如果一侧定值,一侧auto,则auto为「剩余空间」大小 如果两侧都是auto,则「平分」剩余空间 而如何让一个块级元素「右对齐」,margin-left:auto才是最佳实践。...我们继续来解释下,首先,块级元素定宽,也就是说该元素「流动性」消失了,不会100%于父级元素的宽度了。换言之,就是该元素在水平方向无法将父元素填充满。...div class="flex-center"> 我是一个多行文本信息 bala bala div> 在父级元素,一劳永逸的设置子元素居中样式 .flex-center {
如果所有声明了flex-grow的子元素都指定flex-grow为1,那么父容器剩余的空间将会平均的分配到这些子元素上。...imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 容器宽度:200 弹性子元素宽度:100 html: div class="flex-container...100,那么子元素的宽度就是100,除去子元素后的部分按flex-grow比例进行分配。...flex-shrink.png 容器宽度:200 弹性子元素宽度:100 收缩比例为:2:1:1 所以:1003-200=100,超出100,按比例划分,就是item1被移除溢出量=100/(2+1+1...如果设置为0,那么父容器分配分配之前,对每个子元素的默认尺寸都视之为0,剩余空间也就是父容器的全部空间,其结果是,直接按照flex-grow值的比例分配子元素整体的大小; 如果设置为auto,那么父容器会将每个子元素中的内容作为子元素默认尺寸
比如:如果设置的列的宽度大于自动计算的列的宽度,那么实际显示的效果以设置的列的宽度为准;如果设置的列的宽度无法填充整个屏幕,那么实际的宽度可能大于设置的宽度; 如果设置的列的宽度小于自动计算的列的宽度...CSS3在布局方面做了非常大的改进,使得我们对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性,在响应式开发中可以发挥极大的作用。...相反,flex-grow 设置的是父盒子剩余空间的比例分配,而 flex-shrink 设置的是,如果父盒子宽度不够时,子元素的收缩比例。...flex-shrink 默认值为1。 如果将 flex-shrink 的值设置为 0 的话,父盒子宽度不够时,子元素不收缩,会溢出。...4、align-items(父元素使用) 我们之前学的justify-content 设置的是主轴方向上的对齐方式,而 align-items 设置的是侧轴方向的对齐方式。
如果图像比父图像小,则max-width: 100%不会对图像产生实际影响,因为它比父图像小。 使用最小宽度和最大宽度 ?...初始width值为100px,并在其上加上min-width和max-width值。 结果是元素宽度未超过其包含的块/父元素的50%。...modal是一个div>元素,因此它已经具有其父元素的100%宽度,对吗? 考虑下面为模态设计简化的测试案例。 请注意,如果可用视口空间不足,则宽度如何更改为其父级的100%。 ?...为了使其流畅,我们需要以下内容: 纵横比:高度/宽度 容器的宽度:可以是固定数字,也可以是动态数字(100%) 设置height为视口宽度的100%乘以纵横比 设置max-heigh,该高度是容器的宽度乘以纵横比...max-width设置为等于容器宽度 ?
换句话说,你需要这样做: 现在你给div的高度为100%,它有两个父元素和。为了让你的div的百分比高度能起作用,你必须设定和的高度。...css显示模式:块级、行内、行内块级 在HTML中HTML将所有标签分为两类,分别是容器级和文本级 在CSS中CSS也将所有标签分为两类,分别是容器级是块级元素和行内元素 #1、HTML中容器级与文本级...1、块级元素block 独占一行 可以设置宽高 若没有设置宽度,那么默认和父元素一样宽(比如下例中的div的父元素是body,默认div的宽就是body...div一般用于排版,而span一般用于局部文字的样式 1、站在HTML的角度:div是一个块级元素、独占一行,而span是一个行内元素、不会单独占一行 2、站在CSS的角度:div是一个容器级标签...如果不想改变实际大小,那就在用宽高减掉padding对应方向的值2 padding是添加给父级的,改变的是父级包含的内容的位置3 内边距也会有背景颜色 <!
,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。...4)、父级div定义height; 5)、父级div 也一起浮动; 6)、父级div 定义display:table; 7)、常规的使用一个class; .clearfix:before, .clearfix...22、元素竖向的百分比设定是相对于容器的高度吗? PS:当按百分比设定一个元素的宽度时,它是相对于父容器的宽度计算的。...竖向距离的属性,如padding-top,padding-bottom,margin-top,margin-bottom等,当按百分比设定它们时,依据的也是父容器的宽度,而不是高度。...100vw是浏览器的内部宽度,而100%是可用宽度,不含滚动条。 calc(100vw-100%)是浏览器的滚动条的宽度。
领取专属 10元无门槛券
手把手带您无忧上云