gpt4 book ai didi

php - 动态 DIV 布局?

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:47 25 4
gpt4 key购买 nike

我正在尝试研究如何动态布局 DIV,以便它们形成网格效果布局。

我的页面非常简单。我有一个 DIV,它是一个包装器,使用 :

#wrapper { 
width: 80%;
margin: 50px auto;
padding: 20px;
border:1px solid #000000;
display: table;
}

这是一个 FIDDLE 这个页面的工作。

我想在其中布局 6 个单元格(可能是 8 个,但对于这 6 个就可以了)单元格使用父子 css 显示。

用户权限决定了他们可以看到多少个单元格。所以有些用户会看到 6,其他用户会看到 5、4、3 等等。

所附的屏幕截图显示了我希望布局如何根据显示的单元格数量显示。 (全部正确居中 - 不像我的形象)

enter image description here

单元格的文本输入并不重要,一些用户会看到 2 个单元格,这可能是“字段 1”和“字段 6”,另一个用户可能是“字段 5”和“字段 2”等。

使用

创建一个单元格
<div class="child">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png' />
<p>field 1</p>
</a>
</div>

php 将用于隐藏任何不被查看的单元格的上述代码。

知道如何实现吗?

谢谢

最佳答案

您可以使用 CSS3 flex 属性和 java 脚本解决问题。在 HTML 文件中,您只需将所有六个子元素 [div.child] 放在父元素 [div#parent] 中。子元素的拆分可以使用 JavaScript 本身来完成。

检查以下代码:

<!doctype HTML>
<html>
<head>
<style>
#wrapper {
width: 80%;
margin: 50px auto;
padding: 20px;
border:1px solid #000000;
display:block;
}
#parent {
display: flex;
font-size: 1em;
height: auto;
justify-content: space-around;
line-height: 0.6em;
margin: 0 0 30px;
text-align:center;
}
.child {
width: 120px;
height: 75px;
border: solid 1px #000;
display: inline-block;
letter-spacing: normal;
font-size: normal;
white-space: normal;
text-align: center;
vertical-align: middle;
margin:5px 25px 20px 25px;
}
</style>
</head>
<body>
<div id="wrapper">
<div id="parent">
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 1</p>
</a>
</div>
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 2</p>
</a>
</div>
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 3</p>
</a>
</div>
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 4</p>
</a>
</div>
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 5</p>
</a>
</div>
<div class="child">
<a href="">
<img src='http://www.emojibase.com/resources/img/emojis/gemoji/274c.png'/>
<p>field 6</p>
</a>
</div>
</div>
</div>
</body>
</html>
<script>
var wrapper= document.getElementById('wrapper');
var temp= document.getElementById('parent');
child= temp.childElementCount;
if(child == 3)
{
temp.style.flexFlow= "row nowrap";
}
if(child == 4)
{
temp.style.flexFlow="row nowrap";
var row2 = document.createElement("div");
row2.setAttribute('id','parent');
var child3= temp.childNodes[5];
var child4= temp.childNodes[7];
row2.appendChild(child3);
row2.appendChild(child4);
wrapper.appendChild(row2);
}
if(child == 5)
{
temp.style.flexFlow="row nowrap";
var row2 = document.createElement("div");
row2.setAttribute('id','parent');
var child4= temp.childNodes[7];
var child5= temp.childNodes[9];
row2.appendChild(child4);
row2.appendChild(child5);
wrapper.appendChild(row2);
}
if(child == 6)
{
temp.style.flexFlow="row nowrap";
var row2= document.createElement("div");
row2.setAttribute('id','parent');
var child4= temp.childNodes[7];
var child5= temp.childNodes[9];
var child6= temp.childNodes[11];
row2.appendChild(child4);
row2.appendChild(child5);
row2.appendChild(child6);
wrapper.appendChild(row2);
}
</script>

关于php - 动态 DIV 布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29251961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com