問題是(間接地)background-image
上輸入:
<input name="perimeter" id="perimeter" style="background-image: -webkit-linear-gradient(left, transparent 0%, rgba(164, 223, 253, 0.8) 1%, rgba(164, 223, 253, 0.8) 25%, black 26%, black 100%);" type="range" min="0" max="4" step="1" value="1">
這background-image
是必要的前和鉻和Safari拇指後設置的顏色。
要解決問題,我需要在css .form input[type=range]
上設置高度值。
但是,如果我這樣做,背景圖像採取所有的高度值。 它在使用Chrome,但不在MS邊緣。
因此,要解決這個問題,有必要使用MS邊緣瀏覽器特異性:
- 輸入刪除
background-image
。
- 添加CSS樣式:
-ms-fill-lower
和-ms-fill-upper
之前和之後的拇指
結果設置顏色:
<!-- Android & iOS -->
<input id="perimeter" type="range" min="0" max="4" step="1" style="background-image:-webkit-linear-gradient(left, transparent 0%, rgba(164,223,253,0.8) 1%, rgba(164,223,253,0.8) {{ perimeter *100/(distances.length -1) | number:0 }}%, black {{ perimeter *100/(distances.length -1) + 1 | number:0 }}%, black 100%)"/>
<!-- Windows -->
<input id="perimeter" type="range" min="0" max="4" step="1" style="height: 2.5rem;"/>
你需要條件輸入顯示屏。如果您使用角度,請使用ng-if
僅在android和ios上顯示第一個輸入,而在Windows上顯示第二個輸入。
少的文件是:
@thumb-color: white;
@thumb-radius: 50%;
@thumb-height: 2.5rem;
@thumb-width: 2.5rem;
@track-width: 100%;
@track-height: 3px;
@track-fill-lower-color: rgba(164,223,253,0.8);
@track-fill-upper-color: black;
.track() {
-webkit-appearance: none;
width: @track-width;
height: @track-height;
cursor: pointer;
}
.thumb() {
-webkit-appearance: none;
border: none;
height: @thumb-height;
width: @thumb-width;
border-radius: @thumb-radius;
background: @thumb-color;
cursor: pointer;
box-shadow: inset 0 0 0 1px grey, 0 2px 4px rgba(0, 0, 0, .2);
}
input[type=range] {
-webkit-appearance: none;
margin: @thumb-height/2 0;
width: @track-width;
&::-webkit-slider-runnable-track {
.track();
border: none;
}
&::-webkit-slider-thumb {
.thumb();
-webkit-appearance: none;
margin-top: -1.25rem; // @thumb-height/2
}
&::-moz-range-track {
.track();
border: none;
}
&::-moz-range-thumb {
.thumb();
}
&::-ms-track {
.track();
background: transparent;
color: transparent;
}
&::-ms-thumb {
.thumb();
}
&::-ms-fill-lower {
background: @track-fill-lower-color;
}
&::-ms-fill-upper {
background: @track-fill-upper-color;
}
}
你應該看看這個http://stackoverflow.com/questions/12517158/z-index-in-internet-explorer-not-working – Rahul
@Rahul:我我不確定要理解鏈接中使用什麼。 我試圖在-ms-thumb上設置z-index,但沒有任何結果, –