我使用HTML代码:
<div id = "right">
<br /><br /><br />
<br />Parameter 1 : 10 <input type="range" min="10" max="40" step="0.01" value="10" class="slider" id="myRange" onchange="updateValue_Parameter_1(this.value);"> 40
<input type="text" id="textInput" value="">
<script>
function updateValue_Parameter_1(val) {document.getElementById('textInput').value="Parameter 1 = "+val;}
</script>
<br />Parameter 2 : -15 <input type="range" min="-15" step="0.01" max="-9" value="-15" class="slider" id="myRange1" onchange="updateValue_Parameter_2(this.value);"> -9
<input type="text" id="textInput1" value="">
<script>
function updateValue_Parameter_2(val) {document.getElementById('textInput1').value="Parameter 2 = "+val;}
</script>
<br /> Parameter 3 : -15 <input type="range" min="-15" step="0.01" max="-9" value="-15" class="slider" id="myRange2" onchange="updateValue_Parameter_3(this.value);"> -9
<input type="text" id="textInput2" value="">
<script>
function updateValue_Parameter_3(val) {document.getElementById('textInput2').value="Parameter 3 = "+val;}
</script>
<br />Parameter 4 : 7 <input type="range" min="7" max="9" value="7" step="0.01" class="slider" id="myRange3" onchange="updateValue_Parameter_4(this.value);"> 9
<input type="text" id="textInput3" value="">
<script>
function updateValue_Parameter_4(val) {document.getElementById('textInput3').value="Parameter 4 = "+val;}
</script>
<br />Parameter 5 : -8 <input type="range" min="-8" max="-5" step="0.01" value="-8" class="slider" id="myRange4" onchange="updateValue_Parameter_5(this.value);"> -5
<input type="text" id="textInput4" value="">
<script>
function updateValue_Parameter_5(val) {document.getElementById('textInput4').value="Parameter 5 = "+val;}
</script>
<br />Parameter 6 : 0 <input type="range" min="0" max="1" step="0.01" value="0" class="slider" id="myRange5" onchange="updateValue_Parameter_6(this.value);"> 1
<input type="text" id="textInput5" value="">
<script>
function updateValue_Parameter_6(val) {document.getElementById('textInput5').value="Parameter 6 = "+val;}
</script>
<br />Parameter 7 : 100 <input type="range" min="100" max="6000" step="0.01" value="100" class="slider" id="myRange6" onchange="updateValue_Parameter_7(this.value);"> 6000
<input type="text" id="textInput6" value="">
<script>
function updateValue_Parameter_7(val) {document.getElementById('textInput6').value="Parameter 7 = "+val;}
</script>
<br />Parameter 8 : 0 <input type="range" min="0" max="1" step="0.01" value="0" class="slider" id="myRange7" onchange="updateValue_Parameter_8(this.value);"> 1
<input type="text" id="textInput7" value="">
<script>
function updateValue_Parameter_8(val) {document.getElementById('textInput7').value="Parameter 8 = "+val;}
</script>
<br />Parameter 9 : 5 <input type="range" min="5" max="20" step="0.01" value="5" class="slider" id="myRange8" onchange="updateValue_Parameter_9(this.value);"> 20
<input type="text" id="textInput8" value="">
<script>
function updateValue_Parameter_9(val) {document.getElementById('textInput8').value="Parameter 9 = "+val;}
</script>
</div>
产生以下结果:
我想将类型范围的输入对齐到左边,输入类型文本也对齐左边但我不知道怎么做?我尝试使用margin-left,但它会产生错误的结果......
答案 0 :(得分:2)
最简单的解决方案是为每个“列”设置固定宽度。 这样,他们就会很好地对齐。
<label class='width1'>Parameter 1 : 10 </label>
<input class="width2 slider" type="range" min="10" max="40" step="0.01" value="10" id="myRange" onchange="updateValue_Parameter_1(this.value);">
<span class='width3'>40</span>
<input class='width4' type="text" id="textInput" value="" >
和你的css(例如)
.width1 {
width: 100px;
}
.width2 {
width: 150px;
}
.width3 {
width: 20px;
}
.width4 {
width: 80px;
}
这样他们就会齐心协力。
否则,您可以使用display:table
来模拟表格。
或者将所有值放在HTML表格中。
或者您可以将Flexbox与justify-content:space-between;
一起使用,但这可能有点棘手。
答案 1 :(得分:2)
我的解决方案:JSFiddle demo。
我使用 Flexbox 和flex-basis
为每个元素提供了自己的宽度,以便它们整齐排列。您的代码的每一段现在都包含在一个元素(文本的labels
)中,以便可以对它们进行样式设置。
我还清理并缩进了HTML,以便更容易阅读。
请注意,使用 Flex 会使此响应更快,您可以更改 你喜欢的容器的固定
width
,以及flex-basis
控制整个宽度上的分布空间 父/容器。
body,
html {
height: 100%;
width: 100%;
margin: 0;
}
.container {
width: 600px;
margin-top: 30px;
}
.line {
display: flex;
justify-content: space-between;
}
.line label:nth-of-type(1) {
flex-basis: 25%;
}
.line input.slider {
flex-basis: 25%;
}
.line label:nth-of-type(2) {
flex-basis: 10%;
}
.line input[type=text] {
flex-basis: 25%;
}
<div class="container">
<div class="line">
<label for="myRange">Parameter 1 : 10</label>
<input type="range" min="10" max="40" step="0.01" value="10" class="slider" id="myRange" onchange="updateValue_Parameter_1(this.value);">
<label>40</label>
<input type="text" id="textInput" value="">
<script>
function updateValue_Parameter_1(val) {
document.getElementById('textInput').value = "Parameter 1 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange1">Parameter 2 : -15 </label>
<input type="range" min="-15" step="0.01" max="-9" value="-15" class="slider" id="myRange1" onchange="updateValue_Parameter_2(this.value);">
<label>-9</label>
<input type="text" id="textInput1" value="">
<script>
function updateValue_Parameter_2(val) {
document.getElementById('textInput1').value = "Parameter 2 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange2">Parameter 3 : -15 </label>
<input type="range" min="-15" step="0.01" max="-9" value="-15" class="slider" id="myRange2" onchange="updateValue_Parameter_3(this.value);">
<label>-9</label>
<input type="text" id="textInput2" value="">
<script>
function updateValue_Parameter_3(val) {
document.getElementById('textInput2').value = "Parameter 3 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange3">Parameter 4 : 7 </label>
<input type="range" min="7" max="9" value="7" step="0.01" class="slider" id="myRange3" onchange="updateValue_Parameter_4(this.value);">
<label>9</label>
<input type="text" id="textInput3" value="">
<script>
function updateValue_Parameter_4(val) {
document.getElementById('textInput3').value = "Parameter 4 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange4">Parameter 5 : -8 </label>
<input type="range" min="-8" max="-5" step="0.01" value="-8" class="slider" id="myRange4" onchange="updateValue_Parameter_5(this.value);">
<label>-5</label>
<input type="text" id="textInput4" value="">
<script>
function updateValue_Parameter_5(val) {
document.getElementById('textInput4').value = "Parameter 5 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange5">Parameter 6 : 0 </label>
<input type="range" min="0" max="1" step="0.01" value="0" class="slider" id="myRange5" onchange="updateValue_Parameter_6(this.value);">
<label>1</label>
<input type="text" id="textInput5" value="">
<script>
function updateValue_Parameter_6(val) {
document.getElementById('textInput5').value = "Parameter 6 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange6">Parameter 7 : 100</label>
<input type="range" min="100" max="6000" step="0.01" value="100" class="slider" id="myRange6" onchange="updateValue_Parameter_7(this.value);">
<label>6000</label>
<input type="text" id="textInput6" value="">
<script>
function updateValue_Parameter_7(val) {
document.getElementById('textInput6').value = "Parameter 7 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange7">Parameter 8 : 0</label>
<input type="range" min="0" max="1" step="0.01" value="0" class="slider" id="myRange7" onchange="updateValue_Parameter_8(this.value);">
<label>1</label>
<input type="text" id="textInput7" value="">
<script>
function updateValue_Parameter_8(val) {
document.getElementById('textInput7').value = "Parameter 8 = " + val;
}
</script>
</div>
<div class="line">
<label for="myRange8">Parameter 9 : 5</label>
<input type="range" min="5" max="20" step="0.01" value="5" class="slider" id="myRange8" onchange="updateValue_Parameter_9(this.value);">
<label>20</label>
<input type="text" id="textInput8" value="">
<script>
function updateValue_Parameter_9(val) {
document.getElementById('textInput8').value = "Parameter 9 = " + val;
}
</script>
</div>
</div>