复选框使用没有id的标签(标签css可以更改) 输入[类型=复选框]{显示:无} 标签{颜色:黑色;} 输入[类型=复选框]:选中+标签{颜色:红色;} 点击
我有一个复选框使用标签点击,当复选框点击,标签应该改变颜色。我试图实现的是复选框使用没有id的标签(标签css可以更改) 输入[类型=复选框]{显示:无} 标签{颜色:黑色;} 输入[类型=复选框]:选中+标签{颜色:红色;} 点击,css,Css,我有一个复选框使用标签点击,当复选框点击,标签应该改变颜色。我试图实现的是在不使用for=“id”的情况下完成它。我把输入放在标签里面,但是颜色不会改变 没有id有什么方法可以做到这一点吗?这有点像黑客,但您可以使用以下方法: 输入在标签外 <style> input[type=checkbox]{display:none} label{color: black;} input[type=checkbox]:checked + label{color:red;} </style
在不使用for=“id”
的情况下完成它。我把输入放在标签里面,但是颜色不会改变
没有id有什么方法可以做到这一点吗?这有点像黑客,但您可以使用以下方法: 输入在标签外
<style>
input[type=checkbox]{display:none}
label{color: black;}
input[type=checkbox]:checked + label{color:red;}
</style>
<label><input type="checkbox">Click</label>
点击
输入[类型=复选框]{
显示:内联块;
宽度:100%;
位置:相对位置;
z指数:1;
不透明度:0;
}
标签{
位置:绝对位置;
顶部:8px;
颜色:黑色;
}
输入[类型=复选框]:选中+标签{
颜色:红色;
}
示例:这里是一个Completat radio butons和checkbox示例
.c-custom-checkbox{
左侧填充:20px;
位置:相对位置;
光标:指针;
}
.c-自定义-复选框输入[类型=复选框]{
位置:绝对位置;
不透明度:0;
溢出:隐藏;
剪辑:rect(0);
高度:15px;
宽度:15px;
填充:0;
边界:0;
左:0;
}
.c-custom-checkbox.c-custom-checkbox\u img{
显示:内联;
位置:绝对位置;
左:0;
宽度:15px;
高度:15px;
背景图像:无;
背景色:#fff;
颜色:#000;
边框:1px实心#333;
边界半径:3px;
光标:指针;
}
.c-custom-checkbox输入[类型=复选框]:选中+.c-custom-checkbox\uu img{
背景位置:0;
背景色:番茄;
}
一些标签
如果有人在这个老问题上绊倒了,我想选择Vangel Tzo的答案并对其进行优化。我建议切换位置:绝对代码>和位置:相对代码>用于标签
和输入
字段,以允许较长的文本正确包装,而不会与下面的任何内容重叠:
。隐藏复选框{
字体:14px“开放式Sans”,无衬线;
}
.隐藏复选框输入[类型=复选框]{
位置:绝对位置;
左:0;
排名:0;
显示:内联块;
宽度:100%;
z指数:1;
不透明度:0;
高度:30px;
}
.隐藏的复选框标签{
位置:相对位置;
左:0;
排名:0;
填充物:5px;
显示:内联块;
宽度:100%;
}
.隐藏复选框输入[类型=复选框]:选中+标签{
背景:#3298dc;
颜色:白色;
}
.隐藏复选框分区{
位置:相对位置;
边缘底部:1px;
}
请给我查一下。
或者我呢?
一些会导致文本换行的长文本怎么样?
这不起作用,因为您的输入
位于标签
内,要使其起作用,需要一个父选择器(不幸的是,CSS缺少父选择器);但是,您可以将文本包装在span
中,并使用相邻的同级(+
)选择器设置该同级元素的样式。
<input type="checkbox"><label>Click</label>
input[type=checkbox] {
display: inline-block;
width: 100%;
position: relative;
z-index: 1;
opacity: 0;
}
label {
position: absolute;
top: 8px;
color: black;
}
input[type=checkbox]:checked + label {
color: red;
}
/*style for iinpul checkbox*/
input[type=radio], input[type=checkbox] {
display:none;
}
input[type=radio] + label, input[type=checkbox] + label {
display:inline-block;
line-height: 20px;
color: #333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
cursor: pointer;
background: -moz-linear-gradient(center top, #FFFFFF 20%, #F6F6F6 50%, #EEEEEE 52%, #F4F4F4 100%) repeat scroll 0 0 padding-box rgba(0, 0, 0, 0);
border: 1px solid #AAAAAA;
border-radius: 5px;
box-shadow: 0 0 3px #FFFFFF inset, 0 1px 1px rgba(0, 0, 0, 0.1);
color: #444444;
display: block;
height: 34px;
line-height: 34px;
overflow: hidden;
position: relative;
text-decoration: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13px;
}
input[type=radio]:checked + label, input[type=checkbox]:checked + label {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
background-color:#e0e0e0;
}