首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

了解BFC特性,轻松实现自适应布局

现在有个需求,不想让他们合并,破坏内部三个BFC结构怎么办?...因此你再细品那句话相邻块级格式上下文上下边距产生重叠,于是你恍然大悟,143是三个BFC结构,所以4设置margin自然就被重合了。 但是破坏这种相邻BFC结构,因此触发BFC结构机会来了。...不会与相邻浮动BFC边距发生重合 当我们把inner-box-2设置浮动后,边距就不会合并了。...: yellow; } 此时发现页面不尽人意,肯定是下面这样 但是当我们给slide-left设置float:left后,我们会发现,此时slide-left文档流被破坏,main紧贴着...slide-left宽度而自适应 因此你可以,让main成为一个独立BFC,我们需要设置它oveflow:hidden就行 那么此时就会变成 完整css如下 *{ padding

62750
您找到你想要的搜索结果了吗?
是的
没有找到

Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

本文中,我们将详细介绍CSS最大和最小宽度和高度属性,并使用可能用例和技巧详细解释每一个属性。 width 属性 首先要讨论是与宽度相关属性。...大家都说简历没项目写,就帮大家找了一个项目,还附赠【搭建教程】。 Max Width 设置max-width值时,它好处在于防止width属性使用值超过max-width指定值。...html css .sub { width: 100px; min-width: 50%...意味着,将overflow设置visible值以外导致min-width被计算0,这解决了我们不设置min-width: 0问题。...Hero 元素最小高度 一般来说,不喜欢给元素添加固定高度。觉得这样做,破坏流式布局结构。但有些情况设置固定高度却很有用。 考虑下面的例子,在这里我们有一个设置了固定高度hero部分。

5.4K20

rem响应式布局中应用

利用img元素等比缩放特点 这种情况最为常见,只需要百分比设置img元素宽度,img元素高度就会随着宽度等比缩放。这也是我们响应式界面中遇到最主要场景。...实现方案 实现方案很简单,直接上代码 function changeFontSize() {     //设置根元素font-size当前视口宽度     document.getElementsByTagName...如果我们始终将跟元素font-size大小赋值视口宽度,那么所有以rem单位尺寸都是视口宽度百分比。这样我们就可以用rem做为元素高度单位,他将随着视口宽度而变化。...比百分比布局更具优势 百分比布局始终是相对父元素,对于嵌套比较深元素,大家是不是计算百分比时候异常头疼,稍不留神就弄错分母了,并且,嵌套过深也影响精度。...而rem布局分母只有一个就是视口宽度。妈妈再也不用担心弄错分母了。 3.

1.6K40

分享一次纯 css 瀑布流 和 js 瀑布流

) item 中设置 break-inside:avoid,这是为了控制文本块分解成单独列,以免项目列表内容跨列,破坏整体布局。... css设置包裹 masonry 和 item 属性样式: .masonry { -moz-column-count:3; /* Firefox */ -webkit-column-count...只是 .masonry 容器中使用 CSS 不一样; .masonry 中是通过采用 flex-flow 来控制列,并且允许它换行 这里关键是容器高度,这里要显式设置 height 属性,...当然除了设置 px 值,还可以设置100vh,让 .masonry 容器高度和浏览器视窗高度一样 记住,这里 height 可以设置成任何高度值(采用任何单位),但不能不显式设置,如果没有显式设置...// item top 值:第一行:top 0 // 其他行:必须算出图片宽度 item 宽度缩小比例,与获取图片高度相乘,从而获得 item 高度 //

2.3K40

使用这种技巧,可以大大地提高前端布局效率

CSS 中使用wrapper可能有多种方式,这些方式中,有些带来一些问题。 本文中,将介绍 CSS wrapper 布局,它们如何工作,如何使用它们以及何时不使用它们。...CSS中实现 wrapper 目前我们已经了解了wrapper基础知识和优点,接下来我们来具体看看在 CSS 如何使用它。 设置宽度 ? 实现wrapper第一件事就是要确认它宽度。...-- Content --> 不建议这样做,因为wrapper元素可以另一页上使用,这可能无意间破坏布局。...important; } 这样,wrapper CSS保持原样,并且使用附加 CSS 类添加了间距。 现在,你可能问,为什么可以一个页面上添加多个wrapper?...全屏中 Wrapper 某些情况下,如果某个部分背景视口宽度100%,并且其中包含wrapper`,则可能会出现这种情况。 与上一个示例中介绍类似。

3.9K20

【云+社区年度征文】2020一网打尽CSS世界

width 默认值auto,其有4种不同表现: 充分利用空间:宽度默认是100%于父级容器; 收缩与包裹:浮动、绝对定位(absolute、fixed)、inline-block元素或...; width: 100%; } 块元素默认占据一行,无需设置width: 100%,设置后反而会失去流动性(margin/border/padding和content内容区域自动分配水平空间机制...div> 最大宽度 最大宽度实际等同于包裹性元素设置white-space:nowrap;声明后宽度。...max-width小于width时,max-width覆盖width min-width大于max-width时,maxmin-width覆盖max-width 示例:任意高度元素展开收起动画技术...替换元素尺寸从内而外分为3类:固有尺寸(源本身宽度和高度)、HTML尺寸(HTML标签width和height属性)和CSS尺寸(CSSwidht和height以及max-/min-)其优先级

5K11

前端开发必会HTMLCSS硬知识 (二)

css加载不会堵塞html解析 css加载堵塞dom树渲染 css加载堵塞js语句执行 js加载堵塞html解析 css文件放前面,js文件放在html和css后面 如何做页面加载优化(减少白屏时间..., maximum-scale=1.0, user-scalable=no"> 图片适配 //使用这个 img {max-width:100%} //最大宽度显示自身100% //不用这个...img {width: 100%} //宽度外层容器宽度 图片会被无情地拉伸 media 媒体查询 media screen and (min-width:1000px) { body{...background:red; } } 动态rem方案(跟媒体查询配合,实现响应式布局) html设置基准值 font-size:100px 页面上使用,margin:500px...rem 根据当前屏幕宽度和设计稿宽度,算出html基准值 假设当前屏幕宽度375px 设计稿上是640px 当前屏幕宽度/设计稿宽度 = x / 100 => x = 当前屏幕宽度/设计稿宽度

2.1K31

fixed失效,css堆叠上下文问题

我们具体写个例子分析下 是fixed最右侧...】 2、设置.leavel-2外边距margin-left:-100px【改变了元素默认排列位置】 所以产生堆叠上下文,必须满足两个条件,一个是元素文档流被破坏,二是元素位置发生变化 定位产生堆叠上下文...,fixed失效了 页面结构大概就是这样 是fixed最右侧 <div class...另外思考一个问题,当一个块级子级元素设置width:100%与不设置width,当我们对该元素设置margin时,此时会发生什么?...总结 fixed失效原因,主要是由于产生堆叠上下文造成 理解堆叠上下文,什么条件形成堆叠上下文 形成堆叠上下文主要由以下几种 文档流破坏:float+margin,定位postion css新特性

68120

最全CSS浏览器兼容整理

缺点是要控制内容不要换行 2. margin加倍问题 设置floatdivie下设置margin会加倍。这是一个ie6都存在bug。...width:100px; margin:0 0 0 100px; //这种情况之下IE产生200px距离 display:inline; //使浮动忽略} 这里细说一下block与inline...这样问题就大了,如果只用宽度和高度,正常浏览器里这两 个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。...,负值大小其自身宽度高度除以二 <!...,譬如文字,如果你没有css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素背景,如果在 css中没有被指定,浏览器则将其设置白色或者透明,等等其他未定义样式均如此。

1.5K31

详解瀑布流布局5种实现及oject-fit属性,附源码

设置宽或高 100% 因为图片其本身独特性: 不设置宽高情况下按原有的尺寸显示在网页中。即有多大,显示多大。 非等比缩放情况下会被拉伸变形。 设置宽度或者高度时,保持原宽高比进行缩放。...到这里不知道有没有小伙伴和我一样,在看到图片不同表现时,特意去浏览器查看了下 真实尺寸,发现依然是 width: 100%;height: 100%;是充满整个容器。...劣势:每列末尾可能不够友好,可能出现有些列很长,有些又会很短。 思路2. 利用绝对定位 关键思路: 首先设置宽度,然后计算能够展示列数。...CSS3 column 属性 关键思路: column-count:指定列数 column-gap: 设置列之间间距 关键代码: <div class="waterfall-width-column...优势:css 设置简单,渲染高效。 劣势:损失图片一部分可见区域。 到此,我们介绍了图片显示特性以及如何利用 object-fit进行内容控制。

1.2K20

HTML和CSS常见问题整理

对于现代浏览器来说,css中指定width就是content width。 对于IE5.x和6来说,怪异模式中width等于content、左右padding和左右border。...display:node:把元素隐藏起来,并且会改变页面布局,可以理解成页面中把该元素删掉。 如何画一个三角形 左右边框设置透明,长度底部边框一半。...,中间栏宽度自适应 方案一:position绝对定位法 centerdiv需要放到后面,将左右两边使用absolute定位,因为绝对定位使其脱离文档流,最后面的center显示正常文档流中...div需要放到后面,对左右使用float:left和float:right,float使左右两个元素脱离文档流,中间正常文档流中,然后设置margin属性,留出左右两边宽度。...,使下面的子div都处在父div同一个BFC区域之内 4.分属于不同BFC时,可以阻止margin重叠 CSS3特性 vh和vw vh 相对于视窗高度,视窗高度是100vh vw 相对于视窗宽度

1.4K30

CSS】思考和再学习——关于CSS中浮动和定位对元素宽度外边距其他元素所占空间影响

设置width:100%后,子元素“溢出”了父元素 【注意】宽度默认为width:auto,但高度默认height:0 二.浮动/定位对width:auto和width:100%影响 1.浮动/定位对...width:100%影响 浮动/定位是通过改变元素width参考基准来影响width:100%,有以下三点规律 1.1 默认情况下:以它父级元素宽度参考基准 这也就是我们上面看到demo所展示...(注意inner-auto本来是有颜色) 此时该div宽度已被挤压0了,从控制台上看inner-auto: ? 所以,当我们绝对定位,固定定位,浮动时候,要记得给元素设宽度。...【实现思路】:正如上面所说,浮动脱离文档流从而不占据其他元素物理位置,而我们让div1向左浮动了,这表示我们考虑div2布局时候完全可以把div1当作不存在。...那么这个时候又由于div2默认为width:auto;并且此时参考元素body,那么设margin-left:230px;(略大于div1宽度),那么由于width:auto自动计算宽度,此时div2

2K110

【前端芝士树】详解CSS盒模型、BFC、OffsetWidth&ClientWidth&ScrollWidth

即由外向里是 margin, border, padding, content 2.为什么会有两种不同盒模型(标准模式和怪异模式) 了解两种不同盒模型之前,需要先了解一下为什么产生两种不同盒模型...元素内联样式所设置宽高,也就是说如果该节点样式是style标签中或外联CSS文件中设置的话,通过这种方法是获取不到dom宽高。...dom.style.width); //100px 2.dom.currentStyle.width/height   这种方式获取页面渲染完成后结果,就是说不管是哪种方式设置样式,都能获取到...('Dom.offsetWidth: ' + dom.offsetWidth); //160 具体情况如图所示 其中,盒模型标准模型,元素内容宽度100px, padding宽度10px,border...宽度20px, margin宽度30px 5.DOM属性之 OffsetWidth / ClientWidth / ScrollWidth 6.边距重叠 什么是边距重叠 如下图,父元素没有设置margin-top

98260

css左侧固定宽度,右侧自适应几种实现方法

大家要注意html中必须使用div标签,不要妄图使用什么p标签来达到目的。因为div有个默认属性,即如果不设置宽度,那他自动填满他父标签宽度。这里content就是例子。...我们给他设置一个margin。由于sidebar右边,所以我们设置contentmargin-right值,值比sidebar宽度大一点点——以便区分他们范围。例子中是310....没有看footer表现时,很欣慰。我们来把sidebar加长——增长100px!不要一年,只要一条内裤!哦,,,只要一句代码。 ?...所以,最终决定:float与margin都用。 打算把content宽度设为100%,然后设置float:left,最后把他向左移动310,以便于sidebar能挤上来。...5.使用css3calc计算元素宽度+浮动 calc()从字面我们可以把他理解一个函数function。

2.4K20

CSS BFC实现多栏自适应布局

二、块状元素流体特性与自适应布局 流体特性 块状水平元素,如div元素(下同),默认情况下(非浮动、绝对定位等),水平方向自动填满外部容器;如果有margin-left/margin-right...可参考下面例子,感受下div元素流体特性: 图片宽度一直width:100%,依次点击3个按钮,结果随着margin, padding, border出现,其可用宽度自动跟着减小,形成了自适应效果。...width="100%" height="190"> 图片右下角有两道斜杠,我们可以resize拉伸(现代浏览器,且非移动访问),会发现,左侧永远150像素留白,而图片随着容器宽度变化而自适应变化了...大家应该知道,IE6/IE7浏览器下,block水平元素设置display:inline-block元素还是block水平,也就是还是自适应容器可用宽度显示。...但是,单元格有个非常神奇特性,就是你宽度设置地再大,大到西伯利亚,实际宽度也不会超过表格容器宽度

1.5K40

Web程序员们,你准备好迎接HTML5了吗?

缺点是要控制内容不要换行  2. margin加倍问题     设置floatdivie下设置margin会加倍。这是一个ie6都存在bug。...:100px; margin:0 0 0 100px; //这种情况之下IE产生200px距离 display:inline; //使浮动忽略}    这里细说一下block与inline两个元素:...,负值大小其自身宽度高度除以二 <!...设置floatdivie下设置margin会加倍。这是一个ie6都存在bug。...,譬如文字,如果你没有css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素背景,如果在 css中没有被指定,浏览器则将其设置白色或者透明,等等其他未定义样式均如此。

77220
领券