Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复选框使用没有id的标签(标签css可以更改) 输入[类型=复选框]{显示:无} 标签{颜色:黑色;} 输入[类型=复选框]:选中+标签{颜色:红色;} 点击_Css - Fatal编程技术网

复选框使用没有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;
}