css – 将固定宽度的div装入流体容器中

我有简单的结构与容器和内盒:
<div id="container">
    <div class="block"></div>
    // more blocks
    <div class="block"></div>
</div>

我想要实现的是将盒子放在这个容器内,但要尽可能地将它们装在一行中.我可以使用JS:http://jsfiddle.net/JhxSd/做同样的事情,但我想避免这种情况,并且只使用CSS.那可能吗?

解决方法

@media查询

使用一组@media查询根据当前屏幕大小为网格定义不同的布局.布局中唯一需要改变的部分是网格包装器的宽度.

出于所有实际目的,这是目前唯一可用的CSS解决方案.有关@media查询为何合适的原因以及其他可用CSS选项无效的原因,请参阅this answer.

JSFiddle Demo

上面的演示有@media查询,屏幕大小最大可达1200px(可根据需要添加更多),并且不使用JavaScript. #container的渲染宽度始终为75%(不计算边框),网格在#container中居中.

注意:此解决方案需要在块周围添加包装div.在每个@media查询中,包装器的宽度足以适合适合当前屏幕大小的列数.固定的包装宽度允许网格作为一个整体在#container中居中.如果编辑静态HTML不是一个选项,则可以在使用jQuery加载页面添加包装器div.

HTML

<div id="container">
    <div class="grid-wrapper">
        <div class="block"></div>
        ...
    </div>
</div>

CSS

#container {
    width: 75%;
    ...
}
.grid-wrapper {
    margin: 0 auto;
    width: 70px;   /* Default: 1 column */
}
@media (min-width: 200px) {
    .grid-wrapper {width: 140px;}   /* 2 columns */
}
@media (min-width: 290px) {
    .grid-wrapper {width: 210px;}   /* 3 columns */
}
...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效
js如何实现文字闪烁特效?(图文+视频)
CSS3怎么实现背景颜色渐变?(图文+视频)
Css3如何实现文本溢出隐藏并显示省略号效果
添加CSS的三种方式
css如何实现单边阴影效果
css font-size-adjust属性怎么用
三分钟了解css中z-index属性
css text-align-last属性怎么用
css设置背景图片模糊,内容不模糊
弹性盒子布局flex是什么
圆角边框的css属性是什么
前端特效之520表白神器-旋转照片墙
css font-style属性怎么用
css position属性怎么用