Result
記事に紐付けられたタグ等の数値がマウスホバーでスライドする、みたいなの
これ自体はだいぶ昔に見られたUIで需要はなさそう(タグに紐付いた記事数を表記する意味が薄い)ですがSNSの数値表記等、他にも応用できそうです
css
.tags:before, .tags:after {/*タグに疑似要素を追加*/ content: ''; display: table; } .tags:after {/*ここではfloatを使用するので解除しておく*/ clear: both; } .tags li { position: relative; float: left; margin: 0 0 8px 12px; } .tags li:active { margin-top: 1px; margin-bottom: 7px; } .tags li:after {/*タグの真ん中の凹み部分*/ content: ''; z-index: 2; position: absolute; top: 10px; right: -2px; width: 5px; height: 6px; opacity: .95; background: #eb6b22; border-radius: 3px 0 0 3px; box-shadow: inset 1px 0 #99400e; } .tags a, .tags span { display: block; box-sizing: border-box; } .tags a {/*タグのスタイル*/ height: 26px; line-height: 23px; padding: 0 9px 0 8px; font-size: 12px; color: #555; text-decoration: none; text-shadow: 0 1px white; background: #fafafa; border-width: 1px 0 1px 1px; border-style: solid; border-color: #dadada #d2d2d2 #c5c5c5; border-radius: 3px 0 0 3px; background-image: linear-gradient(to bottom, #fcfcfc, #f0f0f0); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7), 0 1px 2px rgba(0, 0, 0, 0.05); } .tags a:hover span {/*ホバー時*/ padding: 0 7px 0 6px; max-width: 40px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15), 1px 1px 2px rgba(0, 0, 0, 0.2); } .tags span {/*数字の部分*/ position: absolute; top: 1px; left: 100%; z-index: 2; overflow: hidden; max-width: 0; height: 24px; line-height: 21px; padding: 0 0 0 2px; color: white; text-shadow: 0 -1px rgba(0, 0, 0, 0.3); background: #eb6b22; border: 1px solid; border-color: #d15813 #c85412 #bf5011; border-radius: 0 2px 2px 0; opacity: .95; background-image: linear-gradient(to bottom, #ed7b39, #df5e14); transition: 0.3s ease-out; transition-property: padding, max-width; } /*色を分ける*/ .green li:after { background: #65bb34; box-shadow: inset 1px 0 #3a6b1e; } .green span { background: #65bb34; border-color: #549b2b #4f9329 #4b8b27; background-image: linear-gradient(to bottom, #71ca3f, #5aa72e); } .blue li:after { background: #56a3d5; box-shadow: inset 1px 0 #276f9e; } .blue span { background: #56a3d5; border-color: #3591cd #318cc7 #2f86be; background-image: linear-gradient(to bottom, #6aaeda, #4298d0); }
html
<div class="container"> <ul class="tags"> <li><a href="#">ブログ <span>4</span></a></li> <li><a href="#">ライフハック <span>8</span></a></li> <li><a href="#">ランチ <span>15</span></a></li> <li><a href="#">運動 <span>16</span></a></li> </ul> <ul class="tags green"> <li><a href="#">デザイン <span>23</span></a></li> <li><a href="#">プログラム <span>42</span></a></li> <li><a href="#">UI <span>108</span></a></li> <li><a href="#">スマホ <span>12</span></a></li> </ul> <ul class="tags blue"> <li><a href="#">Kotlin <span>31</span></a></li> <li><a href="#">Android Studio <span>33</span></a></li> <li><a href="#">Node.js <span>65</span></a></li> <li><a href="#">Java <span>160</span></a></li> </ul> </div>