gpt4 book ai didi

javascript - 在父 div 中居中几个 div

转载 作者:行者123 更新时间:2023-11-28 01:09:34 25 4
gpt4 key购买 nike

我有一些要在水平行中居中的 div。我已经尝试了所有我能想到的方法并进行了研究但无济于事。这是我的代码。

HTML:

<!doctype html> 
<html>
<head>
<title>Hello, World!</title>
<!--references-->
<link rel="stylesheet" type="text/css" href="styles/index.css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
</head>
<body>
<div id="wrapper">
<div id = "box">
<h1 id="head">Hello, World</h1>
<div id = "btn-panel">
<button class="btn" id="btn1">panel1</button>
<button class="btn" id="btn2">panel2</button>
<button class="btn" id="btn3">panel3</button>
<button class="btn" id="btn4">panel4</button>
</div><!--button-panel-->
</div> <!--Box-->
<div id = "panel-row">
<div class="panel" id="p1"><p class="phead">Panel#1</p><hr></div>
<div class="panel" id="p2"><p class="phead">Panel#2</p><hr></div>
<div class="panel" id="p3"><p class="phead">Panel#3</p><hr></div>
<div class="panel" id="p4"><p class="phead">Panel#4</p><hr></div>
</div><!--panel-row-->
</div> <!--wrapper-->
</body>
<script src="js/Index.js" type="text/javaScript"></script>
</html>

CSS:

    body {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
margin: 0px;
}

html {
width: 100%;
height: 100%;
margin: 0px;
}

#wrapper {
width: 100%;
height: 100%;
}

#box {
background-color: #EEE;
Width: 100%;
Height: 250px;
margin-left: auto;
margin-right: auto;
Text-align: center;
}

#head {
padding-top: 25px;
font-size: 20pt;
}
#btn-panel {
width: 100%;
height: 100px;
margin-top: 50px;
}

.btn {
width: 100px;
height: 50px;
border-radius: 5px;
margin-right: 20px;
}

#panel-row {
width: 100%;
height: 150px;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
}

.panel {
display: inline-block;
margin-right: 25px;
width: 100px;
height: 100px;
border-radius: 10px;
border: 1px solid gray;
background-color: #7FFFD4;
}
.phead {
margin-top: 10px;
margin-bottom: 10px;
margin-left: 20px;
}

#panel-row {
margin-right: auto;
margin-left: auto;
}

任何见解将不胜感激。谢谢。

最佳答案

解决方案 1:(推荐)

使用 flexbox。

使用 flexbox 很容易实现这一点,您需要做的是设置 display: flex;justify-content: center;在你的父元素中。

代码片段:

body {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
margin: 0px;
}
html {
width: 100%;
height: 100%;
margin: 0px;
}
#wrapper {
width: 100%;
height: 100%;
}
#box {
background-color: #EEE;
Width: 100%;
Height: 250px;
margin-left: auto;
margin-right: auto;
Text-align: center;
}
#head {
padding-top: 25px;
font-size: 20pt;
}
#btn-panel {
width: 100%;
height: 100px;
margin-top: 50px;
}
.btn {
width: 100px;
height: 50px;
border-radius: 5px;
margin-right: 20px;
}
#panel-row {
display: flex;
justify-content: center;
height: 150px;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
}
.panel {
display: inline-block;
margin-right: 25px;
width: 100px;
height: 100px;
border-radius: 10px;
border: 1px solid gray;
background-color: #7FFFD4;
}
.phead {
margin-top: 10px;
margin-bottom: 10px;
margin-left: 20px;
}
<div id="wrapper">
<div id="box">
<h1 id="head">Hello, World</h1>
<div id="btn-panel">
<button class="btn" id="btn1">panel1</button>
<button class="btn" id="btn2">panel2</button>
<button class="btn" id="btn3">panel3</button>
<button class="btn" id="btn4">panel4</button>
</div>
<!--button-panel-->
</div>
<!--Box-->
<div id="panel-row">
<div class="panel" id="p1">
<p class="phead">Panel#1</p>
<hr>
</div>
<div class="panel" id="p2">
<p class="phead">Panel#2</p>
<hr>
</div>
<div class="panel" id="p3">
<p class="phead">Panel#3</p>
<hr>
</div>
<div class="panel" id="p4">
<p class="phead">Panel#4</p>
<hr>
</div>
</div>
<!--panel-row-->
</div>
<!--wrapper-->


解决方案 2:

inline-block 使用文本中心元素。

可能是您演示的最简单解决方案,仅适用于 inline-block元素,正在使用 css 属性 text-align: center;在你的父元素和text-align: initial;在你的子元素中。

代码片段:

body {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
margin: 0px;
}
html {
width: 100%;
height: 100%;
margin: 0px;
}
#wrapper {
width: 100%;
height: 100%;
}
#box {
background-color: #EEE;
Width: 100%;
Height: 250px;
margin-left: auto;
margin-right: auto;
Text-align: center;
}
#head {
padding-top: 25px;
font-size: 20pt;
}
#btn-panel {
width: 100%;
height: 100px;
margin-top: 50px;
}
.btn {
width: 100px;
height: 50px;
border-radius: 5px;
margin-right: 20px;
}
#panel-row {
height: 150px;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.panel {
text-align: initial;
display: inline-block;
margin-right: 25px;
width: 100px;
height: 100px;
border-radius: 10px;
border: 1px solid gray;
background-color: #7FFFD4;
}
.phead {
margin-top: 10px;
margin-bottom: 10px;
margin-left: 20px;
}
<div id="wrapper">
<div id="box">
<h1 id="head">Hello, World</h1>
<div id="btn-panel">
<button class="btn" id="btn1">panel1</button>
<button class="btn" id="btn2">panel2</button>
<button class="btn" id="btn3">panel3</button>
<button class="btn" id="btn4">panel4</button>
</div>
<!--button-panel-->
</div>
<!--Box-->
<div id="panel-row">
<div class="panel" id="p1">
<p class="phead">Panel#1</p>
<hr>
</div>
<div class="panel" id="p2">
<p class="phead">Panel#2</p>
<hr>
</div>
<div class="panel" id="p3">
<p class="phead">Panel#3</p>
<hr>
</div>
<div class="panel" id="p4">
<p class="phead">Panel#4</p>
<hr>
</div>
</div>
<!--panel-row-->
</div>
<!--wrapper-->


解决方案 3:

使用固定宽度。

为了 margin: 0 auto; trick 要起作用,您需要为元素设置宽度。

难以维护,因为您的子元素的宽度可以改变,您需要改变父元素的宽度,更不用说这可能导致的响应问题,这很可能需要媒体查询得到解决。

body {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
margin: 0px;
}
html {
width: 100%;
height: 100%;
margin: 0px;
}
#wrapper {
width: 100%;
height: 100%;
}
#box {
background-color: #EEE;
Width: 100%;
Height: 250px;
margin-left: auto;
margin-right: auto;
Text-align: center;
}
#head {
padding-top: 25px;
font-size: 20pt;
}
#btn-panel {
width: 100%;
height: 100px;
margin-top: 50px;
}
.btn {
width: 100px;
height: 50px;
border-radius: 5px;
margin-right: 20px;
}
#panel-row {
width: 522px;
height: 150px;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
}
.panel {
display: inline-block;
margin-right: 25px;
width: 100px;
height: 100px;
border-radius: 10px;
border: 1px solid gray;
background-color: #7FFFD4;
}
.phead {
margin-top: 10px;
margin-bottom: 10px;
margin-left: 20px;
}
<div id="wrapper">
<div id="box">
<h1 id="head">Hello, World</h1>
<div id="btn-panel">
<button class="btn" id="btn1">panel1</button>
<button class="btn" id="btn2">panel2</button>
<button class="btn" id="btn3">panel3</button>
<button class="btn" id="btn4">panel4</button>
</div>
<!--button-panel-->
</div>
<!--Box-->
<div id="panel-row">
<div class="panel" id="p1">
<p class="phead">Panel#1</p>
<hr>
</div>
<div class="panel" id="p2">
<p class="phead">Panel#2</p>
<hr>
</div>
<div class="panel" id="p3">
<p class="phead">Panel#3</p>
<hr>
</div>
<div class="panel" id="p4">
<p class="phead">Panel#4</p>
<hr>
</div>
</div>
<!--panel-row-->
</div>
<!--wrapper-->


观察:

  • #panel-row选择器在您的 CSS 中重复出现。
  • 您不需要添加 css 属性 width: 100%对于 block 级元素,这是默认宽度。

关于javascript - 在父 div 中居中几个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295131/

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