# 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 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); }
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!