css 边距:在页脚中自动发布
css margin: auto issue in footer
我的问题是将页脚栏中的 space 分成 3 部分(每个部分具有相同的宽度)
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 80%;
margin: auto;
display: flex;
/*bringt alle Teile in eine Linie*/
text-align: center;
/*zentriert ganzen Text im footer*/
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
如果我尝试对页脚中的 3 个项目执行类似 margin-left: 33%
的操作,这是行不通的。
感谢您的帮助
您可以使用 CSS 的 flex 属性来完成,我在下面添加了代码片段。请检查:
footer{
width: 100%; /*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan; /*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items{
width: 80%;
margin: auto;
display: flex; /*bringt alle Teile in eine Linie*/
text-align: center; /*zentriert ganzen Text im footer*/
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
}
.footer-items .company-items, .footer-items .social-items, .footer-items .other-items {
display: block;
width: 100%;
text-align: left;
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
尝试使用 width: 33.33%
而不是 margin-left: 33%
并将 class 应用于页脚的每个三分之一。这会将页脚分成 3 列:
.footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-column {
float: left;
width: 33.33%;
}
<div class="footer">
<div class="footer-column">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="footer-column">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="footer-column">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
我看到你的 .footer-items
是 display: flex;
,你可以让它最近的 children 均匀增长。
查看代码段。 (你也可以删除 text-align: center;
)
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 80%;
margin: auto;
display: flex;
/*bringt alle Teile in eine Linie*/
/*text-align: center;*/
/*zentriert ganzen Text im footer*/
}
.footer-items > div {
flex-grow: 1;
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
你试过像这样使用display: grid
吗?您可以为每个页脚项定义 3 列,并为其指定宽度 1fr 或 1 个分数 grid-template-columns:1fr 1fr 1fr;
。您还可以定义网格间隙而不是边距。
将 div 个元素的宽度设为 33.33%((100%)/列数)并设置左右边距为 0px。
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 100%;
margin: auto;
margin-right:0px;
margin-left:0px;
display: flex;
/*bringt alle Teile in eine Linie*/
text-align: center;
/*zentriert ganzen Text im footer*/
}
.div-box{
width:33.33%;
}
<div class="footer-items">
<div class="company-items div-box">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items div-box">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items div-box">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
我的问题是将页脚栏中的 space 分成 3 部分(每个部分具有相同的宽度)
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 80%;
margin: auto;
display: flex;
/*bringt alle Teile in eine Linie*/
text-align: center;
/*zentriert ganzen Text im footer*/
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
如果我尝试对页脚中的 3 个项目执行类似 margin-left: 33%
的操作,这是行不通的。
感谢您的帮助
您可以使用 CSS 的 flex 属性来完成,我在下面添加了代码片段。请检查:
footer{
width: 100%; /*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan; /*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items{
width: 80%;
margin: auto;
display: flex; /*bringt alle Teile in eine Linie*/
text-align: center; /*zentriert ganzen Text im footer*/
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
}
.footer-items .company-items, .footer-items .social-items, .footer-items .other-items {
display: block;
width: 100%;
text-align: left;
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
尝试使用 width: 33.33%
而不是 margin-left: 33%
并将 class 应用于页脚的每个三分之一。这会将页脚分成 3 列:
.footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-column {
float: left;
width: 33.33%;
}
<div class="footer">
<div class="footer-column">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="footer-column">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="footer-column">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
我看到你的 .footer-items
是 display: flex;
,你可以让它最近的 children 均匀增长。
查看代码段。 (你也可以删除 text-align: center;
)
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 80%;
margin: auto;
display: flex;
/*bringt alle Teile in eine Linie*/
/*text-align: center;*/
/*zentriert ganzen Text im footer*/
}
.footer-items > div {
flex-grow: 1;
}
<div class="footer-items">
<div class="company-items">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>
你试过像这样使用display: grid
吗?您可以为每个页脚项定义 3 列,并为其指定宽度 1fr 或 1 个分数 grid-template-columns:1fr 1fr 1fr;
。您还可以定义网格间隙而不是边距。
将 div 个元素的宽度设为 33.33%((100%)/列数)并设置左右边距为 0px。
footer {
width: 100%;
/*breite: 100%*/
padding: 0;
margin: 0;
background-color: darkcyan;
/*Hintergrundfarbe*/
margin-bottom: 0;
bottom: 0;
}
.footer-items {
width: 100%;
margin: auto;
margin-right:0px;
margin-left:0px;
display: flex;
/*bringt alle Teile in eine Linie*/
text-align: center;
/*zentriert ganzen Text im footer*/
}
.div-box{
width:33.33%;
}
<div class="footer-items">
<div class="company-items div-box">
<h3 class="company">Company</h3>
<ul>
<li><a href="text1.html">Text1</a></li>
<li><a href="text2.html">Text2</a></li>
<li><a href="text3.html">Text3</a></li>
</ul>
</div>
<div class="social-items div-box">
<h3 class="social">Social</h3>
<ul>
<li><a>Twitter</a></li>
<li><a>Instagram</a></li>
<li><a>Reddit</a></li>
</ul>
</div>
<div class="other-items div-box">
<h3 class="text">Text4</h3>
<ul>
<li><a>other1</a></li>
<li><a>other2</a></li>
</ul>
</div>
</div>