CSS 之 太極圖

icyhat發表於2018-11-14

整體思路: 太極有三個元素, 大圓,兩個小圓.

  1. 有三個內容為空的border矩形
    1. 一大: 預設內容為空, 就只剩下白色背景, 然後右邊加一個一樣大的黑色border
    2. 二小: 一上一下放在大圓的上下兩個魚眼處
      1. 預設內容為空, 白色背景是中間的小圓, 背景是黑色
      2. 預設內容為空, 黑色背景是中間的小圓, 背景是白色
  2. 太極是圓的啊, 所以把矩形變成圓形的神奇屬性:border-radius.
  3. 設定三個圓的相對位置, 半徑大小加起來要要嚴絲合縫.

程式碼內容:

  1. HTML: 一個div
  2. CSS: 包含三個內容,對應三個圓
    1. 每行程式碼都有註釋..
    2. 看不懂快戳評論告訴我!

CSS 之 太極圖

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    body {
      background-color:grey;
    }
    .yinyang {
      width: 120px; height: 240px;
      background-color: white;
      border-color: black;
      border-style: solid;
      border-width: 1px 121px 1px 1px;
      border-radius: 50%;
      position: relative;
    }
    
    .yinyang:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      background-color: white;
      border: 40px solid black;
      border-radius: 50%;
      width: 40px;
      height: 40px;
    }
    
    .yinyang:after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      background-color: black;
      border: 40px solid white;
      border-radius:50%;
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>
  <div class="yinyang"></div>
</body>
</html>
複製程式碼

相關文章