gpt4 book ai didi

javascript - 如何在网格中独立平铺 div,而不管一行中 div 的最大大小?

转载 作者:行者123 更新时间:2023-11-28 19:30:30 27 4
gpt4 key购买 nike

我想像这样平铺图像:this我最终得到的是:this .
这是我的 HTML、CSS 和 JavaScript 代码:

window.onload = newWindow ;

function newWindow() {
var data = JSON.parse(phrases);
console.log(data);

for (let i = 0 ; i < data.length ; i++) {
let column = document.createElement("DIV");
column.className = "column";
let card = document.createElement("DIV");
var br = document.createElement("br");
card.className = "card";

let theme = `theme : ` + data[i].theme;
let content = document.createTextNode(theme)
card.appendChild(content);
card.appendChild(br);

var br1 = document.createElement("br");

let sourceText = `sourceText : ` + data[i].sourceText;
content = document.createTextNode(sourceText);
card.appendChild(content);
card.appendChild(br1);

var br2 = document.createElement("br");

let translation = `translation : ` + data[i].translation;
content = document.createTextNode(translation);
card.appendChild(content);
card.appendChild(br2);

column.appendChild(card);
document.getElementById("cards-container").appendChild(column);
}
}
body {
font-family: Arial, Helvetica, sans-serif;
}
.row{
display: grid;
grid-template-columns: 33% 33% 33%;
}
.column {
margin: 10px;
}

.card {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
padding: 10px;
text-align: center;
background-color: #f1f32f;
}
.card:hover {
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}
<!DOCTYPE html>
<html lang>
<head>
<title>Greeting Cards</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="styles.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script src="./scripts.js"></script>
<script type="text/javascript" src="Phrases.json"></script>
</head>

<body>
<div id="cards-container" class="row">

</div>
</body>
</html>

数据来自外部JSON我成功解析的文件。 如何调整我的 CSS 以便平铺我的 div列中的 s 无论 div 的最大大小如何像第一张图片那样连续吗?
我需要 3 列。
我的问题严格来说是关于定位第一张图片中的元素。我想要一个普通 JavaScript 和/或 JQuery 以及 CSS 和 HTML 的解决方案,而不是像 Bootstrap 这样的任何其他框架。

最佳答案

我个人不会在网格上这样做。

这是我的方法。只是基本的东西,添加了两列,并将第二列也分成两列。 https://jsfiddle.net/v1wzk9cu/2/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test Columns Document</title>
</head>
<body>

<div id="header" class="header">Example Header</div>
<div id="Wrapper">
<div id="column1" class="column">
<div class="note">&nbsp;</div>
<div class="note">&nbsp;&nbsp;</div>
<div class="note">&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;</div>
<div class="note">&nbsp;</div>
<div class="note">&nbsp;&nbsp;&nbsp;&nbsp;</div>
</div>

<div id="column2" class="column">
<div id="columnA" class="twoColumns">
<div class="noteCol2">&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;</div>
<div class="noteCol2">&nbsp;<br>&nbsp;</div>
<div class="noteCol2">&nbsp;<br>&nbsp;<br>&nbsp;</div>
<div class="noteCol2">&nbsp;</div>
</div>
<div id="columnB" class="twoColumns">
<div class="noteCol2"><br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;</div>
<div class="noteCol2">&nbsp;</div>
<div class="noteCol2"><br>&nbsp;<br>&nbsp;</div>
<div class="noteCol2">&nbsp;</div>
</div>
</div>

</div>
</body>
</html>

和 CSS

.column{
background-color: #FF3636;
float:left;

}

.twoColumns{
background-color: #FF3636;
float:left;
}

.note{
width: 95px;
background-color: #FFF34D;
border: 1px black solid;
margin: 3px;
padding: 10px;
}

.noteCol2{
width: 95px;
background-color: #FFF34D;
border: 1px black solid;
margin: 3px;
padding: 10px;
}

#Wrapper{
margin: auto;
max-width: 450px;
}

关于javascript - 如何在网格中独立平铺 div,而不管一行中 div 的最大大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55171999/

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