Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Können CSS3-Dreiecke mit Hintergrundbildern anklickbare transparente Bereiche verarbeiten?

Mary-Kate Olsen
Freigeben: 2024-11-14 15:57:02
Original
211 Leute haben es durchsucht

Can CSS3 Triangles with Background Images Handle Clickable Transparent Areas?

Creating Triangle Shapes with Background Images

Question:

Designing a website with two triangular elements that contain background images and serve as clickable links becomes challenging when attempting to make the transparent portion of a triangle accessible to clicks. Can this design be achieved using CSS3 triangles with background images?

Answer:

Using Child Images:

To simplify the process and maintain compatibility with most browsers, a workaround is to use child images for the links instead of background images. This method involves creating the triangular shape using the transform skew property and offsetting the child images to compensate for the skew.

Steps:

  • Create a container div with the appropriate dimensions (e.g., 900px width, 600px height).
  • Add two child divs for the triangles and position them absolutely with transform origins on opposite corners.
  • Skew each triangle by a specific angle calculated based on the triangle's height and width (in this example, -55.98deg).
  • Create child images within each triangle and rotate them by the same angle as their parent divs.
  • Set the overflow property to hidden for both the container and the triangle divs.

HTML:

<div>
Nach dem Login kopieren

CSS:

.container {
  overflow: hidden;
  width: 900px;
  height: 600px;
}

.triangle, .triangle img {
  width: 100%;
  height: 100%;
}

.triangle {
  overflow: hidden;
  position: absolute;
  transform: skewX(-55.98deg);
}

.triangle:first-child {
  left: -.25em;
  transform-origin: 100% 0;
}

.triangle:last-child {
  right: -.25em;
  transform-origin: 0 100%;
}

.triangle img {
  transform: skewX(55.98deg);
  transform-origin: inherit;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKönnen CSS3-Dreiecke mit Hintergrundbildern anklickbare transparente Bereiche verarbeiten?. 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