将光标更改为标签内跨度上的指针
Posted
技术标签:
【中文标题】将光标更改为标签内跨度上的指针【英文标题】:Changing cursor to pointer on span within label 【发布时间】:2016-04-07 22:30:42 【问题描述】:我正在为网站上的单选按钮使用纯 CSS 样式(从 here 使用),但我正在努力将光标更改为整个标签上的指针,并在 labrl 内跨越(这是样式单选按钮本身的外观)。
标记
<div class="demonstration pureCSS">
<div>
<input id="checkboxPureCSS1" type="checkbox" name="checkboxPureCSS" value="1" checked="checked"><label for="checkboxPureCSS1"><span></span>Option 1</label>
</div>
<div>
<input id="checkboxPureCSS2" type="checkbox" name="checkboxPureCSS" value="2"><label for="checkboxPureCSS2"><span></span>Option 2</label>
</div>
<div>
<input id="checkboxPureCSS3" type="checkbox" name="checkboxPureCSS" value="3"><label for="checkboxPureCSS3"><span></span>Option 3</label>
</div>
</div>
<br />
<div class="demonstration pureCSS">
<div>
<input id="radioPureCSS1" type="radio" name="radioPureCSS" value="1" checked="checked"><label for="radioPureCSS1"><span><span></span></span>Option 1</label>
</div>
<div>
<input id="radioPureCSS2" type="radio" name="radioPureCSS" value="2"><label for="radioPureCSS2"><span><span></span></span>Option 2</label>
</div>
<div>
<input id="radioPureCSS3" type="radio" name="radioPureCSS" value="3"><label for="radioPureCSS3"><span><span></span></span>Option 3</label>
</div>
</div>
CSS
.pureCSS input[type=checkbox]:not(old),
.pureCSS input[type=radio ]:not(old)
width : 2em;
margin : 0;
padding : 0;
font-size : 1em;
opacity : 0;
.pureCSS input[type=checkbox]:not(old) + label,
.pureCSS input[type=radio ]:not(old) + label
display : inline-block;
margin-left : -2em;
line-height : 1.5em;
cursor: pointer;
.pureCSS input[type=checkbox]:not(old) + label > span,
.pureCSS input[type=radio ]:not(old) + label > span
display : inline-block;
width : 0.875em;
height : 0.875em;
margin : 0.25em 0.5em 0.25em 0.25em;
border : 0.0625em solid rgb(192,192,192);
border-radius : 0.25em;
background : rgb(224,224,224);
background-image : -moz-linear-gradient(rgb(240,240,240),rgb(224,224,224));
background-image : -ms-linear-gradient(rgb(240,240,240),rgb(224,224,224));
background-image : -o-linear-gradient(rgb(240,240,240),rgb(224,224,224));
background-image : -webkit-linear-gradient(rgb(240,240,240),rgb(224,224,224));
background-image : linear-gradient(rgb(240,240,240),rgb(224,224,224));
vertical-align : bottom;
.pureCSS input[type=checkbox]:not(old):checked + label > span,
.pureCSS input[type=radio ]:not(old):checked + label > span
background-image : -moz-linear-gradient(rgb(224,224,224),rgb(240,240,240));
background-image : -ms-linear-gradient(rgb(224,224,224),rgb(240,240,240));
background-image : -o-linear-gradient(rgb(224,224,224),rgb(240,240,240));
background-image : -webkit-linear-gradient(rgb(224,224,224),rgb(240,240,240));
background-image : linear-gradient(rgb(224,224,224),rgb(240,240,240));
.pureCSS input[type=checkbox]:not(old):checked + label > span:before
content : '✓';
display : block;
width : 1em;
color : rgb(153,204,102);
font-size : 0.875em;
line-height : 1em;
text-align : center;
text-shadow : 0 0 0.0714em rgb(115,153,77);
font-weight : bold;
.pureCSS input[type=radio]:not(old):checked + label > span > span
display : block;
width : 0.5em;
height : 0.5em;
margin : 0.125em;
border : 0.0625em solid rgb(115,153,77);
border-radius : 0.125em;
background : rgb(153,204,102);
background-image : -moz-linear-gradient(rgb(179,217,140),rgb(153,204,102));
background-image : -ms-linear-gradient(rgb(179,217,140),rgb(153,204,102));
background-image : -o-linear-gradient(rgb(179,217,140),rgb(153,204,102));
background-image : -webkit-linear-gradient(rgb(179,217,140),rgb(153,204,102));
background-image : linear-gradient(rgb(179,217,140),rgb(153,204,102));
我已将场景复制为 jsfiddle 并将光标设置为标签上的指针,但是当您将鼠标悬停在单选按钮上时,光标会返回到默认状态。
是否可以将光标更改为单选按钮悬停时的指针?我尝试在span:hover
上设置cursor: pointer
,但这似乎没有任何效果。
【问题讨论】:
【参考方案1】:只需添加可以工作的希望。
input[type=radio]:hover
cursor: pointer;
【讨论】:
【参考方案2】:添加到cursor: pointer;
.pureCSS input[type="checkbox"]:not(old), .pureCSS input[type="radio"]:not(old)
cursor: pointer;
font-size: 1em;
margin: 0;
opacity: 0;
padding: 0;
width: 2em;
https://jsfiddle.net/csrr3axq/2/
【讨论】:
谢谢。试图将其添加到不正确的样式中。效果很好! :)以上是关于将光标更改为标签内跨度上的指针的主要内容,如果未能解决你的问题,请参考以下文章