Home > Article > Web Front-end > How to implement hexagons in css
# The operating environment of this article: windows7 system, HTML5&&CSS3 version, Dell G3 computer.How to implement hexagons in css: 1. Combine 3 p's together, including 2 isosceles triangles and a rectangle; 2. Get a regular hexagon by rotating 3 rectangles at different angles.
How to implement hexagons in css?
I was writing a honeycomb layout recently, so I studied the implementation principle of hexagons Two ways to implement hexagons:
Method 1: One rectangle and two triangles
First we need to understand the border
Each border is 45 degrees apart. We can use this to make a triangle
<p class="triangle"></p>/*css片段*/.triangle{ width: 0; height: 0; border-bottom: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; }The above code can create a triangle An isosceles triangle with a vertex angle of 120 degrees
The way we make a hexagon is to combine 3 p’s, with an isosceles triangle of 120 degrees on top and bottom, and a rectangle in the middle (note: border-top/border-bottom determines the height of the triangle)
Next we will implement the hexagon
<p class="top-triangle"></p> <p class="center"></p> <p class="bottom-triangle"></p> /*css片段*/ .top-triangle{ width: 0; height: 0; border-bottom: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; } .center{ width: 172px; height: 100px; background: red; } .bottom-triangle{ width: 0; height: 0; border-top: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; }
From the above code we can get a regular six deformation
Method 2: Rotate 3 rectangles at different angles to obtain a regular hexagon
Key points: overflow: hidden;
The use of transform: rotate()
<p class="six"> <p class="child"> <p class="child_child"></p> </p></p>/*css片段*/.six,.child,.child_child{ width: 100px; height: 150px; overflow: hidden; }.six{ -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); -ms-transform: rotate(120deg); -moz-transform: rotate(120deg); transform: rotate(120deg); }.child{ -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg); transform: rotate(-60deg); }.child_child{ background: red; -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg); transform: rotate(-60deg); }can add a background or picture to the innermost p , do not add color to the two outer p's, but there is no way to add text to the hexagon created in this way. Execute the above code to get the following picture:
css video tutorial》】
The above is the detailed content of How to implement hexagons in css. For more information, please follow other related articles on the PHP Chinese website!