热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

"br"与flexbox不友好?

如何解决《"br"与flexbox不友好?》经验,为你挑选了1个好方法。

我使用flexbox得到了一个表,并注意到一个有趣的特性:br元素在flexbox中无法做任何事情.

例:

.flexbox {
  display: flex;
  flex-wrap: wrap;
  border: 2px solid red;
  padding: 2px;
}

.item {
  width: 50px;
  height: 50px;
  margin: 2px;
  border: 2px solid blue;
}

.new-row, br {
  display: block;
  width: 100%;
  height: 0px;
}

Line break using div:

Line break using br:


在示例中,divbr共享相同的属性,但div将元素传递给新行,而br不是.

为什么?



1> BoltClock..:

br众所周知,CSS中元素的实现非常神秘.不同的浏览器支持元素上的不同属性集,具有不同程度的效果(尽管它们都支持设置display: none以至少从布局中删除它).CSS本身早在CSS1就承认了这种奇怪之处,它已经专门为它准备了整个小节,即使现在在CSS3中它仍然严重不足.

涉及flexbox的这种特性并不新鲜; 它自2014年以来就已为人所知.基本上,在当前的实现br中,不会生成主框,而是将其视为Flexbox规范第4节中所述的连续文本运行的一部分,生成无法设置样式的匿名Flex项(因为它是匿名的).这类似于一个孤立display: table-cell元素导致在它周围创建一个匿名表框,除了你至少仍然可以设置display: table-cell元素的样式- 在元素的情况下,br你应用的样式属性没有效果,并且匿名的flex项是用默认值布局.

在这种情况下,由于br它本身(大部分)是空的并且没有伴随Flex容器中的任何其他裸文本,这导致匿名的flex项目没有维度,使得它看起来好像br元素已经完全消失.

早在2014年,CSSWG就不是通过改变Flexbox规范来解决这个"谜",而只是br为css-display-3 添加一个特殊的元素定义来解释这里看到的行为.但是该规范的当前版本中没有这样的定义,也没有FPWD(在解决方案之后发布!),也没有HTML规范,也没有其他地方.然而,根据当前的css-display-3规范(没有定义任何新属性,只是更改定义display),定义看起来像这样:

br {
  content: '\A';
  display: contents;
  white-space: pre;
}

...这意味着该br元素不会生成主框,而只是一个包含单个换行符的匿名内联框.

因为css-display-3中仍然缺少这个定义,所以我不会立即认为它是正常的.即便如此,这里看到的行为极不可能改变,因为这是该br元素长期存在的方式.


推荐阅读
  • 在DIV内垂直居中UL - Centering Vertically an UL inside a DIV
    iamtryingtomakeanavigationmenuinsidea200pxx200pxsquare,thisnavigationlist(UL)chang ... [详细]
  • 本文详细介绍了W3C标准盒模型和IE传统盒模型的区别,探讨了CSS3中box-sizing属性的使用方法及其在布局中的重要性。通过实例分析,帮助读者更好地理解和应用这一关键概念。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 一款清新的jQuery日历插件带日期的Tooltip提示543人浏览发表回复这是一款非常简单清新的jQuery日历插件,它并没有特别的日期或者时间选择功能,仅仅是展示一个简单的日历控件。这款jQu ... [详细]
  • 一篇文章搞定css3 3d效果
    css33d学习心得卡片反转魔方banner图首先我们要学习好css33d一定要有一定的立体感通过这个图片应该清楚的了解到了x轴y轴z轴是什么概念了。首先先给大家看一个小 ... [详细]
  • 这篇文章将为大家详细讲解有关如何使用JavaScript动态设置CSS3属性值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读 ... [详细]
  • Iamtryingtoachievethearrowpointingupwards..iamtryingtoachieveitinmycssiamnotabl ... [详细]
  • 前端实用的CSS3技巧有哪些
    本文小编为大家详细介绍“前端实用的CSS3技巧有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“前端实用的CSS3技巧有哪些”文章能帮助大家 ... [详细]
  • 怎么使用css3画三角形
    小编给大家分享一下怎么使用css3画三角形,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先看一下css3画三角形的原理我们先来看 ... [详细]
  • 你有什么见解
    本文主要介绍关于html5,css3的知识点,对【关于雾霾网站设计】和【你有什么见解】有兴趣的朋友可以看下由【-你在暮色中】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【】相关技术问题。你有 ... [详细]
  • 1、给边框加上圆角及阴影,如下代码:<!DOCTYPEhtmlPUBLIC"-W3CDTDHTML4.01TransitionalEN"" ... [详细]
  • http:js.alixixi.coma2014021292298.shtmlhttp:w3cshare.comexample?pid134http:w3cshare.comc ... [详细]
author-avatar
cxl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有