您的位置:首页技术文章
文章详情页

html - 请问css 中一个元素能做出这种选中效果么?

【字号: 日期:2023-07-08 15:27:13浏览:54作者:猪猪

问题描述

如果做不出,也可以两个元素,最好不要绝对定位html - 请问css 中一个元素能做出这种选中效果么?

问题解答

回答1:

首先是不太可能只用一個元素,因為想要實現自定義的 radio 或是 checkbox 時,都得靠 label 的 for 來實現,就是隱藏實際 input ,然後自定義 label 的樣式來實現,所以至少得兩個。

實現

<input name='radios' type='radio' /><label for='radio1'></label><input name='radios' type='radio' /><label for='radio2'></label>

.circle-radio { visibility: hidden;}.circle-radio + label { display: block; width: 30px; height: 30px; border-radius: 50%; border: 2px solid #00AAFF;}.circle-radio:checked + label { display: block; background: #00AAFF; box-shadow: inset 0px 0px 0px 6px white;}回答2:

如果只是单纯的表示这样一个图形的话,单个p是可以实现的,即通过背景的径向渐变

<p id='a'></p><style> #a{width:100px;height:100px;border-radius:50%;background: -webkit-radial-gradient( #0af 0%,#0af 25%,transparent 26%,transparent 60%, #0af 61%, #0af 100%); }</style>

上述代码是运行结果请看http://jsbin.com/vunoraxoko/e...

当然,如果你是想表示radio等单选或复选的话单个元素恐怕不能满足你的要求

对于这一点,你可以参考楼上 @Tomoe 的回答

回答3:

<p class='outer'><p class='inner'></p> </p>

.outer { width: 100px; height: 100px; margin: 0 auto; border: 3px solid blue; border-radius: 50px;}.inner { display: none; width: 50%; height: 50%; margin: 0 auto; margin-top: 25%; border-radius: 25px; background-color: blue;}p.outer:hover p.inner{ display: block;}

使用 border-radius 和 css 伪类选择器 :hover预览

标签: HTML
相关文章: