我无法水平对齐 2 行
I can't align 2 rows horizontally
我开始学习网络开发,遇到了一个问题,这让我很困惑。
所以,我想要一个有 2 行的 div,在每一行中我有 4 个 divs,在每个 div 中有一个图像和一些文本,那个我要居中,图片在文字上方。
出于某种原因,我没有看到每一行的行为都像一列,因此,我得到的不是 2 行 4 个元素,而是 2 列 4 个元素。
我的 html 标记:
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
我的css:
.logos {
display: flex;
flex-direction: row;
}
.logo {
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
}
.logo a {
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
您需要将 .logos
方向更改为第 flex-direction: column;
列
然后指定.row
显示为flex
.row{display:flex;}
.logos{
display: flex;
flex-direction: column;
}
.row{
display:flex;
}
.logo{
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
}
.logo a{
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue",
sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
img{
content:url("https://picsum.photos/200")
}
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
您可以使用下面的代码,
在这里,我将 display:flex
应用到 row
、
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Try</title>
<style>
.logos {
display: flex;
/* flex-direction: row; */
}
.row {
display: flex;
max-width: 500px;
/* flex-direction: row; */
flex-wrap: wrap;
}
.logo {
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
display: flex;
flex-direction: column;
margin-bottom: 16px;
}
.logo a {
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
</body>
</html>
我开始学习网络开发,遇到了一个问题,这让我很困惑。
所以,我想要一个有 2 行的 div,在每一行中我有 4 个 divs,在每个 div 中有一个图像和一些文本,那个我要居中,图片在文字上方。
出于某种原因,我没有看到每一行的行为都像一列,因此,我得到的不是 2 行 4 个元素,而是 2 列 4 个元素。
我的 html 标记:
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
我的css:
.logos {
display: flex;
flex-direction: row;
}
.logo {
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
}
.logo a {
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
您需要将 .logos
方向更改为第 flex-direction: column;
然后指定.row
显示为flex
.row{display:flex;}
.logos{
display: flex;
flex-direction: column;
}
.row{
display:flex;
}
.logo{
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
}
.logo a{
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue",
sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
img{
content:url("https://picsum.photos/200")
}
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
您可以使用下面的代码,
在这里,我将 display:flex
应用到 row
、
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Try</title>
<style>
.logos {
display: flex;
/* flex-direction: row; */
}
.row {
display: flex;
max-width: 500px;
/* flex-direction: row; */
flex-wrap: wrap;
}
.logo {
text-transform: uppercase;
text-align: center;
padding: 0px 0px 89px 61px;
height: 132px;
width: 159px;
display: flex;
flex-direction: column;
margin-bottom: 16px;
}
.logo a {
padding-top: 16px;
text-decoration: none;
color: #262626;
font-family: "Helvetica Neue", sans-serif;
font-size: 12px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="logos">
<div class="row">
<div class="logo">
<img src="logo1.svg" alt="logo"/>
<a href=# alt="vestuario">vestuário e acessórios</a>
</div>
<div class="logo">
<img src="logo2.svg" alt="logo"/>
<a href=# alt="saude">saúde e bem-estar</a>
</div>
<div class="logo">
<img src="logo3.svg" alt="logo"/>
<a href=# alt="restauracao">restauração</a>
</div>
<div class="logo">
<img src="logo4.svg" alt="logo"/>
<a href=# alt="casa">casa, decoração e bricolage</a>
</div>
</div>
<div class="row">
<div class="logo">
<img src="logo5.svg" alt="logo"/>
<a href=# alt="alimentar">alimentar</a>
</div>
<div class="logo">
<img src="logo6.svg" alt="logo"/>
<a href=# alt="informatica">informática e acessórios</a>
</div>
<div class="logo">
<img src="logo7.svg" alt="logo"/>
<a href=# alt="alojamento">alojamento</a>
</div>
<div class="logo">
<img src="logo8.svg" alt="logo"/>
<a href=# alt="cultura">cultura e lazer</a>
</div>
</div>
</div>
</body>
</html>