純CSS實(shí)現(xiàn)menu組合功能

先來看看效果


tag.gif

首先我告訴你,這整個功能完全用 CSS完成。沒有使用JS,沒有使用圖片,沒有使用iconfont或其它任何除CSS以外的技術(shù)。

其次我告訴你它的HTML結(jié)構(gòu)相當(dāng)簡結(jié):

<div>
  <input class="icon-menu" type="checkbox"/>
  <ul>
    <li>111</li>
    <li>222</li>
    <li>333</li>
  </ul>
</div>

最后我告訴你,其實(shí)它的代碼量一定是你平生僅見之簡短:(這里僅寫整個功能結(jié)構(gòu)性代碼)

.icon-menu {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: linear-gradient(0deg, transparent 42%, #454545 0%, #454545 57%, transparent 0%), linear-gradient(90deg, transparent 75%, #fff 76%), linear-gradient(0deg, transparent 10%, #454545 0%, #454545 25%, transparent 0%), linear-gradient(0deg, transparent 75%, #454545 0%, #454545 90%, transparent 0%);
  border-radius: 30%;
  -webkit-appearance: none;
  border: 0;
  outline: 0;
  transition: all .1s;
}

.icon-menu:active {
  transform: scale3d(.75, .75, 1);
}

.icon-menu:checked {
  background: linear-gradient(45deg, transparent 45%, #454545 0, #454545 55%, transparent 0), linear-gradient(-45deg, transparent 45%, #454545 0, #454545 55%, transparent 0);
}

.icon-menu + ul {
  opacity: 0;
  pointer-events: none;
  transition: all .6s;
}

.icon-menu:checked + ul {
  opacity: 1;
  pointer-events: auto;
}


重點(diǎn)關(guān)注:

由于我的這個專欄是CSS圖形學(xué),所以我們暫時先不談其它,就說怎么寫一個導(dǎo)航圖標(biāo)?


231D57C3-D970-48DC-B5E3-E8AD1EE306DF.png
.icon-menu {
  background: linear-gradient(0deg, transparent 42%, #454545 0%, #454545 57%, transparent 0%), linear-gradient(90deg, transparent 75%, #fff 76%), linear-gradient(0deg, transparent 10%, #454545 0%, #454545 25%, transparent 0%), linear-gradient(0deg, transparent 75%, #454545 0%, #454545 90%, transparent 0%);
  border-radius: 30%;
}

然后又在需要的時候變化它的圖形


1DFA7707-F4D6-4CB8-8C2C-713F7CA028D5.png
.icon-menu:checked {
  background: linear-gradient(45deg, transparent 45%, #454545 0, #454545 55%, transparent 0), linear-gradient(-45deg, transparent 45%, #454545 0, #454545 55%, transparent 0);
}

怎么樣,是不是很方便?記得點(diǎn)贊關(guān)注哦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容