这个问题记录在这个JSFiddle中:
http://jsfiddle.net/sawaira/j62309fx/39/
稳定迭代(完成90%)
<div style="height:100%; width:300px;float:right;border: 2px solid #0094ff;border-radius:5px">
<div style="height:100%; width:100%;">
<table style="width:100%;">
<tr>
<td colspan="4">
<div class="containerChart2">
<div class="headerChartControl">
<span>My Team(s):</span>
</div>
<div id="filterHolder1" class="listControl">
<form id="formUserListObject">
<input type="checkbox" name="userSelection" id="{{id}}" onchange="checkBoxSelected(id,false)" class="css-checkbox"/>
<label for="{{id}}" class="css-label">
{{userName}}
</label>
</form>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="4">
<div class="containerChart2">
<div class="headerChartControl">
<span>Find Other Team(s):</span>
</div>
<div class="contentSearch">
<!-- This is the HTML element that will be used to render the KeyLines component -->
<form id="formSearch" class="formSearch">
<input type="search" id="searchBox" />
</form>
<!--label id="headervalue2">Search Results:</label-->
<div id="filterHolder2" class="listControl"></div>
</div>
</div>
</td>
</tr>
<td colspan="4">
<div class="headerChartControl">
<input type="button" onclick="document.getElementById('loading-image').style.display ='block'" value="Show"/>
<input type="button" onclick="document.getElementById('loading-image').style.display ='none'" value="Hide"/>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
#formUserListObject {
font-size: x-small;
}
#tab0 {
top: 50px;
}
#page {
display: none;
}
#loading-image {
position:absolute;
top: 50%;
left:50%;
z-index:1;
font-size: 20px;
color: red;
}
.overallDiv {
height: 100%;
width: 100%;
background-color: #ff6a00;
}
.myDiv {
height: 100%;
width: 100%;
background-color: #b6ff00;
}
.formClass {
}
.listControl {
padding-top: 5px;
padding-right: 15px;
padding-bottom: 5px;
padding-left: 15px;
border: 2px solid #0094ff;
height: 100px;
overflow-y: scroll;
}
.paddingControl {
padding-top: 5px;
padding-right: 10px;
padding-bottom: 5px;
padding-left: 10px;
}
.slider {
padding-top: 5px;
padding-right: 15px;
padding-bottom: 5px;
padding-left: 15px;
background-color: #00ff90;
}
input[type=checkbox].css-checkbox {
position:absolute;
z-index: -1000;
left: -1000px;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px;
width: 1px;
padding: 0;
margin: -1px;
border: 0;
}
input[type=checkbox].css-checkbox + label.css-label {
padding-left: 20px;
height: 15px;
display: inline-block;
line-height: 15px;
background-repeat: no-repeat;
background-position: 0 0;
font-family: Arial;
font-size: 10px;
cursor: pointer;
}
input[type=checkbox].css-checkbox:checked + label.css-label {
background-position: 0 -15px;
}
label.css-label {
background-image: url(http://csscheckbox.com/checkboxes/u/csscheckbox_845137eccd6f9ac2355055adf283a248.png);
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
input[type=checkbox].css-checkbox + label.css-labelMinus {
padding-left: 20px;
height: 15px;
display: inline-block;
line-height: 15px;
background-repeat: no-repeat;
background-position: 0 -15px;
font-family: Arial;
font-size: 10px;
cursor: pointer;
}
input[type=checkbox].css-checkbox:checked + label.css-labelMinus {
background-position: 0 -15px;
}
label.css-labelMinus {
background-image: url(http://csscheckbox.com/checkboxes/u/csscheckbox_845137eccd6f9ac2355055adf283a248.png);
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.headerChartControl {
background-color: #9ed1f6;
cursor: pointer;
font-family: Arial;
font-size: 12px;
font-weight: bold;
width: 100%;
}
.contentSearch {
width: 100%;
}
.listControl {
border: 1px solid #0094ff;
height: 100px;
overflow-y: scroll;
}
.searchText {
font-family: Arial;
font-size: 10px;
}
.formSearch {
width: 100%;
display: inline-block;
padding-bottom: 2px;
}
input[type="search"] {
background: white url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAIVBMVEW/v7+/v78AAAC/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79QUkolAAAAC3RSTlOLYAAJeoMjRhpOcbsbtd4AAABJSURBVHjaVc1JDsAgDATB9uAF8v8Hx0QcSN9KssZI5eClDj18PRsFlmlQDcfUGd6A3EgYP1xncQ+sa5qYOk9jRQt1Y0izhU5bL2o2AW3ZQKeJAAAAAElFTkSuQmCC) 10px 6px no-repeat;
height: 20px;
border: 1px solid #0094ff;
width: 100%;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
}
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: searchfield-decoration;
}
1)如果你点击&#34;复选框&#34;在最右边,你会注意到div向左滚动。我知道这种情况正在发生,因为我的位置是:绝对的&#34;在复选框的样式中。
但是,如果我完全删除了position属性,那么在IE中 - 我看到的是&#34;。&#34;在&#34; +&#34;前面复选框的标志。
如果我创建了position属性:&#34; relative&#34;,我在IE中获得了所需的行为,但在Chrome中它仍会滚动出来。
有人可以告诉我该怎么办?
答案 0 :(得分:0)
根据你的代码看起来,似乎你试图隐藏复选框并使用它的标签代替。如果是这种情况,那么你将走很远的路。
而不是:
input[type=checkbox].css-checkbox {
position:absolute;
z-index: -1000;
left: -1000px;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px;
width: 1px;
padding: 0;
margin: -1px;
border: 0;
}
只需使用:
input[type=checkbox].css-checkbox {
display: none;
}
根本没有理由可以查看该复选框。
我使用此方法的地点:http://codepen.io/jacksonrk/pen/myqLOE