html - 标签在 flex 容器内时输出错误

标签 html css flexbox

我对 flexbox 有疑问。每当我在格式(可见输出)中放置一些标签时,都是错误的。

HTML:

<div class="container">
  <div class="line1"><div class="one">IMG</div></div>
  <div class="line2">Some text here.</div>
  <div class="line3">Cause of A tag [Cause of A tag] <br><a> (this is inside A tag) [(this is inside A tag)] </a><br> flexbox is displayed wrong [flexbox is displayed wrong]</div>
</div>

CSS:

.container
{background:black;
padding:10px;
display:flex;}

.line1
{border:2px solid blue;
padding:10px;
background:yellow;}

.line2
{display:flex;
align-items:center;
align-self:stretch;
border:3px solid blue;
padding:10px;
background:yellow;}

.line3
{display:flex;
align-items:center;
align-self:stretch;
border:3px solid blue;
padding:10px;
background:yellow;}

.one
{padding:10px;
background:red;}

我想做的是 align-items:center;.line3 但我需要设置 display:flex;这样做。但是格式不见了......并且周围有一些空间。

https://jsfiddle.net/4025gLo8/4/ - wih flex(元素居中但有问题)

https://jsfiddle.net/b8amyfog/4/ - 没有 flex(正确的格式,但没有 align-items:center; 或 align-self:stretch; 等)

最佳答案

如果我没有正确理解您的问题,您希望从第二个 fiddle 到第 3 行中的所有内容都与容器的中心对齐。如果那是你想要的,我想这个 fiddle 可能会解决你的问题:https://jsfiddle.net/mk3xh1fe/

^ 让我知道这是否是您要找的。

问题是,因为您使用的是 display: flex在 div 上,并且该 div 中有几个元素,需要告诉它们对齐为 column而不是 row (这是默认值)。

此外,我在此处对您的 CSS 强制执行了一些代码样式规则以遵循标准,在我看来,这使 CSS 更具可读性。

希望这对您有所帮助!

关于html - 标签在 flex 容器内时输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53543928/

相关文章:

javascript - 滚动到 div 时 JS 计数器停止计数

html - 是否有 2 个或更多具有相同属性值的元素的选择器?

javascript - 如何延迟 javascript/html 中 <a> 标签的加载

html - 表单对齐表现怪异

css - 如何解决 IE10 flexbox 溢出错误

html - 如何实时转码 wmv 文件以在 html5 播放器中播放?

html - 两个div拒绝在同一行

html - 如何在没有静态高度的情况下将背景图像添加到 div,以便它是全宽 + 自适应的?

html - 引用 flexbox 容器新列中的最后一个或第一个元素

html - 在全宽元素之前添加一个固定宽度的伪元素