Das übergeordnete Div kann nicht zentriert werden, da der linke Rand des untergeordneten Div negativ ist.
P粉677573079
P粉677573079 2024-01-29 15:04:54
0
1
518

Ich habe das folgende Div erstellt, aber da ich einen negativen linken Rand verwende, um das Symbol zu versetzen, kann ich nicht das gesamte Div zentrieren. Auf dem Desktop kommen wir damit durch, weil man nicht sofort erkennen kann, dass das gesamte Div etwas nach links verschoben ist, aber auf Mobilgeräten ist die linke Seite des kreisförmigen Symbols abgeschnitten. Wie kann ich das gesamte Div zentrieren?

.icon-text-box {
  border: 1px solid red;
}

.icon-box {
  background: #fff;
  border-radius: 33px;
  margin: 6rem auto;
  padding: 4rem 4rem 4rem 7rem;
  box-shadow: 0 3px 6px -2px rgb(0 0 0 / 20%), 0 6px 12px rgb(0 0 0 / 10%);
  position: relative;
  display: flex;
  align-self: center;
  max-width: 900px;
}

.icon-box p {
  font-size: 22px;
  margin-bottom: 0;
}

.icon-box-icon {
  position: absolute;
  left: -90px;
  overflow: hidden;
  display: flex;
  align-self: center;
  height: 177px;
}

.icon-box-icon img {
  border-radius: 40px;
}
<div class="container-fluid mw-972 icon-text-box">
  <div class="icon-box">
    <div class="icon-box-icon">
      <img src="https://www.freepnglogos.com/uploads/spotify-logo-png/spotify-simple-green-logo-icon-24.png" />
    </div>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
  </div>
</div>

P粉677573079
P粉677573079

Antworte allen(1)
P粉107991030

代替 auto 边距,您可以使用不同的想法来居中,同时在小屏幕上添加一些边距

margin: 6rem max(90px,(100% - 900px)/2);

完整代码:

.icon-text-box {
  border: 1px solid red;
}

.icon-box {
  background: #fff;
  border-radius: 33px;
  margin: 6rem max(90px,(100% - 900px)/2);
  padding: 4rem 4rem 4rem 7rem;
  box-shadow: 0 3px 6px -2px rgb(0 0 0 / 20%), 0 6px 12px rgb(0 0 0 / 10%);
  position: relative;
  display: flex;
}

.icon-box p {
  font-size: 22px;
  margin-bottom: 0;
}

.icon-box-icon {
  position: absolute;
  left: -90px;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
  display: flex;
  height: 177px;
}

.icon-box-icon img {
  border-radius: 40px;
}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

如果您想要一侧有边距,也如下所示:

.icon-text-box {
  border: 1px solid red;
}

.icon-box {
  background: #fff;
  border-radius: 33px;
  margin: 6rem max(0px,(100% - 900px)/2) 6rem max(90px,(100% - 900px)/2);
  padding: 4rem 4rem 4rem 7rem;
  box-shadow: 0 3px 6px -2px rgb(0 0 0 / 20%), 0 6px 12px rgb(0 0 0 / 10%);
  position: relative;
  display: flex;
}

.icon-box p {
  font-size: 22px;
  margin-bottom: 0;
}

.icon-box-icon {
  position: absolute;
  left: -90px;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
  display: flex;
  height: 177px;
}

.icon-box-icon img {
  border-radius: 40px;
}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage