我正在开发一个响应式设计,我真的不想改变HTML标记,而是让我有所作为 .
我有一个容器有三个元素(一个类别,一个图像缩略图和一个包含文本的div) .
HTML
<article class="featured">
<div class="category">
<a href="/#/#/">Category name</a>
</div>
<a href="/my-img/" class="thumb-wrapper">
<div class="thumb" style="background-image: url(http://my-image-path);"></div>
</a>
<div class="text">
<h2><a href="/#/">Lorem ipsum</a></h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sit amet vehicula erat, eget volutpat erat. In imperdiet ligula id mauris convallis aliquet quis congue dui. Integer vulputate erat augue, ac aliquam velit iaculis at. </p>
</div>
</article>
所以 article
有三个子元素: div.category
, a
和 div.text
我想让 div.category
坐在 article
的全宽/ max-width:100%
然后我想让 a
和 div.text
使用flex坐在一起 . 我已经在其他地方工作了,但是当 div.category
存在时却没有 .
这是一个小模型
正如我所说,我不想改变HTML结构,我想使用 flex
,因为这是我在别处使用的 .
当我的父( article
)已应用 display:flex;
时,我的问题是 div.category
全宽 . 基本上我试图覆盖 flex
对 div.category
的影响
我已经尝试将 width:100%
应用于该类别,然后还应用 flex-shrink:0;
使其无法收缩,但是后两个元素不会换行到下一行 . 并使用 flex-wrap
使它们换行并不会让它们排成一行 .
1 回答
您可以在
.thumb-wrapper
和_628225_上使用flex: 0 0 50%
,在.category
上使用flex: 0 0 100%
,并且不要忘记在article
上设置flex-wrap: wrap