首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流体半流体div

流体半流体div
EN

Stack Overflow用户
提问于 2015-04-04 10:24:37
回答 1查看 55关注 0票数 0

代码语言:javascript
复制
.mid{
    margin:0 auto;
    max-width:10em;
    min-width:5em;
    border:1px solid red;
}
代码语言:javascript
复制
<div class='mid'>...</div>

这段代码创建了一个以中心为中心的div,如果浏览器窗口足够小,它将扩展到10 5em,缩小到5em。几乎我想要的一切。

是否可以在一行中创建三个div,其中中间div的行为与.mid完全一样(扩展到10 5em,收缩到5em),左、右div在汽车上的表现类似于边距:扩展到中间.mid,如果没有足够的空间则缩小到0。

我找到的最接近的解决方案是。唯一的问题是.mid没有缩小,因为td没有混合宽度和最大宽度。

代码语言:javascript
复制
.cont{
    display:table;
   /* table-layout:fixed; /* this prevented shrinking */
    width:100%;
}
.cont div{
    display:table-cell;
    overflow:hidden;

    
}
 .mid{
    width:10em;    /* in table width behaves like max-width*/
    border:1px solid red;
}
代码语言:javascript
复制
<div class='cont'>

    <div>left</div>
    <div class='mid'>...</div>
    <div>right</div>
    
</div>

我是遗漏了什么,还是不可能在html/css中创建这个布局?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-04 10:45:29

您可以使用flex属性:http://jsfiddle.net/7v1m5g8d/1/

代码语言:javascript
复制
.cont {
    display:flex;
    width:100%;
    border:1px solid blue;
    text-align:center;
}
.cont div {
    flex:1;
}
.cont div.mid {
    /* strippes for demo */
    background:repeating-linear-gradient(to right, transparent 0, transparent 0.9em, gray 0.9em, gray 1em);
    min-width:5em;
    max-width:10em;
    flex:auto;/* reset */
    border:1px solid red;
}
/* do not forget to add prefix-vendor if needed or a script as prefixfree.js :) */
代码语言:javascript
复制
<div class='cont'>
    <div>left</div>
    <div class='mid'>...</div>
    <div>right</div>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29445285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档