当前位置:Gxlcms > css > 如何用css画正六边形?用css画正六边形的两种方法(代码实例)

如何用css画正六边形?用css画正六边形的两种方法(代码实例)

时间:2021-07-01 10:21:17 帮助过:37人阅读

本章给大家介绍如何用css画正六边形?用css画正六边形的两种方法(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在之前要先了解一下正六边形内角和边的关系,正六边形的每个内角是60deg,如图(√3其实是根号3):

45.png

方法一:原理把正六边形分成三部分,左中右分别是:before部分,div部分,after部分,如图:

5.png

before三角形部分是div的before伪元素,after三角形部分是div的after伪元素。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>用css画正六边形</title>
  6. <style type="text/css">
  7. .div {
  8. position: relative;
  9. width: 50px;
  10. height: 86.6px;
  11. margin: 50px auto;
  12. background-color: red;
  13. }
  14. .div:before {
  15. content: '';
  16. display: block;
  17. position: absolute;
  18. width: 0;
  19. height: 0;
  20. right:50px;
  21. border-width: 43.3px 25px;
  22. border-style: solid;
  23. border-color: transparent red transparent transparent;
  24. }
  25. .div:after {
  26. content: '';
  27. display: block;
  28. position: absolute;
  29. width: 0;
  30. height: 0;
  31. left:50px;
  32. border-width: 43.3px 25px;
  33. border-style: solid;
  34. border-color: transparent transparent transparent red;
  35. top:0;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div class='div'></div>
  41. </body>
  42. </html>

效果图:

10.jpg

注意div及伪元素的宽高需要根据上面的公式计算。

方法二:也是把正六边形分成三个宽高相同的div,然后使用定位以及css3 transform:rotate分别向左右旋转60deg形成正六边形,如图:

1.png

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>用css画正六边形</title>
  6. <style type="text/css">
  7. .one {
  8. width: 50px;
  9. height: 86.6px;
  10. margin: 0 auto;
  11. border-top: 1px solid red;
  12. border-bottom: 1px solid red;
  13. }
  14. .two {
  15. position: absolute;
  16. width: 50px;
  17. height: 86.6px;
  18. left: 25px;
  19. top: 0;
  20. transform: translate(-50%,-50%);
  21. transform: rotate(60deg);
  22. border-top: 1px solid red;
  23. border-bottom: 1px solid red;
  24. }
  25. .three {
  26. position: absolute;
  27. width: 50px;
  28. height: 86.6px;
  29. left: 25px;
  30. top: 0;
  31. transform: translate(-50%,-50%);
  32. transform: rotate(300deg);
  33. border-top: 1px solid red;
  34. border-bottom: 1px solid red;
  35. }
  36. </style>
  37. </head>
  38. <body>
  39. <div style='position:relative;width:100px;margin:0 auto;'>
  40. <div class='one'></div>
  41. <div class='two'></div>
  42. <div class='three'></div>
  43. </div>
  44. </body>
  45. </html>

效果图:

1.jpg

以上就是如何用css画正六边形?用css画正六边形的两种方法(代码实例)的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行