Heim > Web-Frontend > CSS-Tutorial > Wie kann verhindert werden, dass durch CSS gedrehte Elemente andere Elemente überlappen?

Wie kann verhindert werden, dass durch CSS gedrehte Elemente andere Elemente überlappen?

Mary-Kate Olsen
Freigeben: 2024-12-13 02:11:12
Original
798 Leute haben es durchsucht

How to Prevent CSS Rotated Elements from Overlapping Other Elements?

Gedrehte Elemente in CSS, die vertikal ausgerichtet werden

In CSS können Sie die Eigenschaft writing-mode verwenden, um Text vertikal zu drehen. Allerdings kann sich rotierender Text auf die Positionierung seiner übergeordneten Elemente auswirken. Dies kann zu unerwarteten Ergebnissen führen, wie zum Beispiel, dass Text andere Elemente überlappt.

Problem:

Betrachten Sie das folgende Beispiel:

<div class="container">
  <div class="statusColumn"><span>Normal</span></div>
  <div class="statusColumn"><a>Normal</a></div>
  <div class="statusColumn"><b>Rotated</b></div>
  <div class="statusColumn"><abbr>Normal</abbr></div>
</div>
Nach dem Login kopieren
.statusColumn b {
  writing-mode: tb-rl;
  white-space: nowrap;
  display: inline-block;
  overflow: visible;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}
Nach dem Login kopieren

Dieser Code führt zu folgendem Layout:

[Bild des Textes in vier Spalten, wobei die dritte Spalte um 90 gedreht ist Grad]

Wie Sie sehen können, überlappt der gedrehte Text die anderen Elemente.

Lösung:

Um dieses Problem zu beheben, können Sie die verwenden write-mode-Eigenschaft für das übergeordnete Element, um den Text vertikal zu drehen. Dadurch wird sichergestellt, dass der gedrehte Text korrekt im übergeordneten Element ausgerichtet ist.

.statusColumn {
  position: relative;
  border: 1px solid #ccc;
  padding: 2px;
  margin: 2px;
  width: 200px;
}

.statusColumn i,
.statusColumn b,
.statusColumn em,
.statusColumn strong {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  display: inline-block;
  overflow: visible;
}
Nach dem Login kopieren

Dieser Code führt zu folgendem Layout:

[Bild des Textes in vier Spalten, wobei die dritte Spalte gedreht ist vertikal]

Wie Sie sehen können, ist der gedrehte Text jetzt vertikal innerhalb des übergeordneten Elements ausgerichtet und überlappt die anderen Elemente nicht.

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass durch CSS gedrehte Elemente andere Elemente überlappen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage