Html 如何让我的div在保存内容不同的情况下保留空间
我正在一个网站上工作,在那里我必须制作一个网格状的系统,允许所有的Html 如何让我的div在保存内容不同的情况下保留空间,html,css,Html,Css,我正在一个网站上工作,在那里我必须制作一个网格状的系统,允许所有的div.cons间隔相同,即使它们的高度不同 这是我正在使用的当前代码(): html,正文{ 位置:相对位置; } html{ 背景色:#FFF; } * { 保证金:0; 填充:0; 字体系列:'opensans',Sans serif; 字体大小:400; 颜色:#333; } p、 a、h1、h2、h3、h4、h5、h6、li、td、th、div、img{ -webkit触摸标注:无; -webkit用户选择:无; -k
div.cons
间隔相同,即使它们的高度不同
这是我正在使用的当前代码():
html,正文{
位置:相对位置;
}
html{
背景色:#FFF;
}
* {
保证金:0;
填充:0;
字体系列:'opensans',Sans serif;
字体大小:400;
颜色:#333;
}
p、 a、h1、h2、h3、h4、h5、h6、li、td、th、div、img{
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}
p、 h1、h2、h3、h4、h5、h6、li、td、th、div、img{
游标:默认值;
}
p、 a、李、td、th、div{
字体大小:12px;
}
分区导航>ul li>p,
分区导航>ul li>a,
a{
字体家族:继承;
字体大小:继承;
字体大小:继承;
文字装饰:无;
颜色:继承;
}
分区包装器{
宽度:510px;
最小高度:200px;
高度:自动;
溢出:自动;
位置:相对位置;
保证金:自动;
}
div.wrapper>div.con{
宽度:250px;
高度:自动;
溢出:自动;
位置:相对位置;
浮动:左;
边缘顶部:10px;
}
div.wrapper>div.con.odd{
右边距:10px;
}
div.wrapper>div.con>h1.title,
div.wrapper>div.con>p.content{
显示:块;
填充物:5px10px;
}
div.wrapper>div.con>h1.title{
边缘底部:20px;
背景色:#000;
字号:700;
字体大小:14px;
文本转换:大写;
颜色:#FFF;
}
div.wrapper>div.con>p.content{
字体大小:12px;
文本对齐:居中;
}
div.wrapper>div.con>div.opt{
高度:自动;
溢出:自动;
边缘顶部:20px;
背景色:#000;
}
div.wrapper>div.con>div.opt>ul{
高度:自动;
溢出:自动;
列表样式类型:无;
}
div.wrapper>div.con>div.opt>ul>li{
显示:内联块;
字号:700;
字体大小:10px;
文本转换:大写;
颜色:#FFF;
}
div.wrapper>div.con>div.opt>ul>li>a{
显示:块;
填充物:2px 5px;
}
div.wrapper>div.con>div.opt>ul>li>a:悬停{
颜色:rgba(255255,0.75);
}
我的名字是空的。南。
前庭,特别是饮食,最后的按摩,最后的伤口。直径前叶,妊娠前叶,枕叶。Nam nunc lorem,cursus eget nisl in,pretium aliquet libero。这是我的朋友。
我的名字是空的。南。
埃尼安·康瓦利斯(Aenean convallis)、猫咪(felis ac luctus dictum)、尼西·康瓦利斯(nisi risus convallis enim)、调味品(ac quam mi ac dui)。虎口浮雕和肘部浮雕同侧前庭;酒后驾车。
我的名字是空的。南。
suscipit sem的Ut。莫里斯·奎斯·索利西图丁·埃尼姆。这是一个前庭皮肤按摩。莫利斯胡拉姆科珀大黄蜂。库拉比图尔欧盟发酵罐。前庭位于阴沟水平外阴部。利奥·莱克托斯,普乌特·波苏尔。
这是一个很好的例子,一个孕妇。
智者无智者。在est dapibus,scelerisque purus被杀。
请看小提琴。我已经向包装器div添加了一些CSS3属性
尝试拆分为两列,并将div的内部保持如下状态: HTML:
我用
class=“col”
添加了2个div
列。看这个
您还需要使用所有的
符号来解释css中继承权中的新div
CSS
div.wrapper {
width: 520px;
...
}
div.wrapper > div.col {
display: inline-block;
width: 250px;
vertical-align: top;
}
div.wrapper > div.col.odd {
margin-right: 10px;
}
HTML
<div class="wrapper">
<div class="col odd">
<div class="con">
...
</div>
<div class="con">
...
</div>
</div>
<div class="col">
<div class="con">
...
</div>
<div class="con">
...
</div>
</div>
</div>
...
...
...
...
在div.wrapper
上使用display:flex
,并添加一个填充底部:20px代码>
div.wrapper {
width:510px;
min-height:200px;
height:auto;
overflow:auto;
position:relative;
margin:auto auto;
display:flex;
flex-wrap: wrap;
}
现在将位置:绝对和底部:0px
添加到div.opt
div.wrapper > div.con > div.opt {
width:100%;
height:auto;
overflow:auto;
/*margin-top:20px;*/
position:absolute;
bottom:0px;
background-color:#000;
}
您是否正在尝试创建类似于Pinterest的砌体样式布局?如果是这样的话,我会告诉你怎么做
演示标记如下所示:
<div class="masonry">
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
<div class="item">Incidunt sit unde minima in nostrum?</div>
<div class="item">Ducimus, voluptates, modi, delectus animi maiores consequuntur repellat quisquam fugiat eum possimus enim culpa totam praesentium magni quae!</div>
<div class="item">Lorem ipsum dolor sit amet, dicta dolore adipisci hic ipsam velit deleniti possimus cumque accusantium rerum quibusdam.</div>
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, praesentium consequatur ducimus commodi quam ex illo omnis dicta reiciendis vel nesciunt deserunt aut sequi nam mollitia perferendis ipsam possimus temporibus!</div>
<div class="item">Ab, adipisci, temporibus eaque quis harum perferendis incidunt cupiditate doloribus dolor numquam voluptates ipsum dolore aspernatur et voluptate ipsam beatae animi culpa.</div>
</div>
然后需要将此样式应用于每个子级:
.item { /* Masonry bricks or child elements */
display: inline-block;
margin: 0 0 1em;
width: 100%;
}
本教程还提供了一个链接,指向旧浏览器的
这就是创建砖石风格布局所需的全部内容:)@susheel-“即使它们的高度不同。”@susheel-我希望只使用css修复。停止尝试启动参数…使用表。这就是它们的用途。@gaynorvader-非常确定一个表也会有同样的问题。一个快速的解决方案可能是并排使用2列div
s,然后交替填充。很好的尝试。OP布局的问题(除了多个H1标记和如此多的直系后代规则,这使得布局很难修改)是它们实际上需要将“div.con.odd>p.content”容器的高度与下一个si容器的高度匹配
div.wrapper > div.con > div.opt {
width:100%;
height:auto;
overflow:auto;
/*margin-top:20px;*/
position:absolute;
bottom:0px;
background-color:#000;
}
<div class="masonry">
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
<div class="item">Incidunt sit unde minima in nostrum?</div>
<div class="item">Ducimus, voluptates, modi, delectus animi maiores consequuntur repellat quisquam fugiat eum possimus enim culpa totam praesentium magni quae!</div>
<div class="item">Lorem ipsum dolor sit amet, dicta dolore adipisci hic ipsam velit deleniti possimus cumque accusantium rerum quibusdam.</div>
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, praesentium consequatur ducimus commodi quam ex illo omnis dicta reiciendis vel nesciunt deserunt aut sequi nam mollitia perferendis ipsam possimus temporibus!</div>
<div class="item">Ab, adipisci, temporibus eaque quis harum perferendis incidunt cupiditate doloribus dolor numquam voluptates ipsum dolore aspernatur et voluptate ipsam beatae animi culpa.</div>
</div>
.masonry { /* Masonry container */
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
}
.item { /* Masonry bricks or child elements */
display: inline-block;
margin: 0 0 1em;
width: 100%;
}