html – 使用CSS显示多行中的元素

html – 使用CSS显示多行中的元素,第1张

概述我有一个固定宽度的容器< div>显示一个或多个小部件< div> s.我希望它看起来像这样:  < - 灰色块是小部件,红色边框是容器 简化,我在HTML中的结构如下所示: <div id="container"> <div id="widget1">1</div> <div id="widget2">2</div> <div id="widget3">3</div> 我有一个固定宽度的容器< div>显示一个或多个小部件< div> s.我希望它看起来像这样:

< - 灰色块是小部件,红色边框是容器 简化,我在HTML中的结构如下所示:

<div ID="container">    <div ID="Widget1">1</div>    <div ID="Widget2">2</div>    <div ID="Widget3">3</div>    <div ID="Widget4">4</div>    <div ID="Widget5">5</div>    <div ID="Widget6">6</div>    <div ID="Widget7">7</div></div>

注意事项

>小工具将具有固定的高度,例如100px的
>小部件将具有固定宽度,例如100px但它们也可能是该宽度的倍数(加上任何边距交叉 – 参见小工具1)
>小部件应与边距(或类似)间隔良好,例如10px的
>我不知道会有多少个小部件(用户可以根据需要分配多少个小部件).
>容器是固定宽度但没有任何“视觉”样式(红色边框用于演示)
>解决方案必须在现代浏览器(和MSie7)中工作,理想情况下是纯CSS.

由于考虑4.我不能分配额外的标记,例如行div,类(.first-child,.last-child)和因为2.:nth-​​child不能正常工作AFAIK.

我尝试过的事情

小部件上的margin-left:第一个子设置margin-left:0将不会正确显示新行.

小部件上的margin-right:last-child setting margin-right:0第一行强制容器div更宽和last-child isn’t supported until MSIE9.

相等的左右边距(例如边距:0 5px 10px)再次迫使容器变宽.

溢出 – 在我脑海里工作得很好!与边距或填充无关.

有没有办法在CSS中这样做?

http://jsfiddle.net/agtb/VHXGT/

解决方法 我相信你的想法太复杂了:-)

如果我理解正确,您不需要对单独的小部件进行任何特殊处理.只需给小部件提供一半间距的边缘,并且容器具有相同的余量但是为负.

#container {    wIDth: 440px;    margin: -5px;}#container div {    background-color: gray;    height: 100px;    wIDth: 100px;    float: left;    margin: 5px;}

见http://jsfiddle.net/SGdG3/1/

总结

以上是内存溢出为你收集整理的html – 使用CSS显示多行中的元素全部内容,希望文章能够帮你解决html – 使用CSS显示多行中的元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存