opencart使单选按钮成行
opencart make radio buttons in row
我的 opencart 网站上有选项的自定义无线电输入。这些选项带有隐藏输入,并且位于 div 中,如果选择了选项,将有边框。
这里是其中两个选项的代码:
label {
width: 100%;
height: 100%;
display: block;
}
input[type="radio"] {
position: absolute;
top: 20px;
left: 50%;
}
input[type="radio"]:checked + .squareBase {
border: grey 2px solid;
outline: black 3px solid;
}
.radio{
width:50px;
}
.squareBase{
width: 30px;
height: 30px;
margin-bottom: 10px;
}
input{
display:none;
}
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XL</div>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XXL</div>
</label>
</div>
我希望这个选项在行中(不是垂直的)。我该怎么做?
您可以将两个单选选项都包含在一个框内,并为其提供 flex 显示,默认情况下会在一行中显示子框。
只需使用以下代码更新您的HTML
<div class="options">
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XL</div>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XXL</div>
</label>
</div>
</div>
并用以下
更新你CSS
label {
width: 100%;
height: 100%;
display: block;
}
input[type="radio"] {
position: absolute;
top: 20px;
left: 50%;
}
input[type="radio"]:checked + .squareBase {
border: grey 2px solid;
outline: black 3px solid;
}
.radio{
width:50px;
}
.squareBase{
width: 30px;
height: 30px;
margin-bottom: 10px;
}
input{
display:none;
}
.options{
display: flex;
}
我的 opencart 网站上有选项的自定义无线电输入。这些选项带有隐藏输入,并且位于 div 中,如果选择了选项,将有边框。
这里是其中两个选项的代码:
label {
width: 100%;
height: 100%;
display: block;
}
input[type="radio"] {
position: absolute;
top: 20px;
left: 50%;
}
input[type="radio"]:checked + .squareBase {
border: grey 2px solid;
outline: black 3px solid;
}
.radio{
width:50px;
}
.squareBase{
width: 30px;
height: 30px;
margin-bottom: 10px;
}
input{
display:none;
}
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XL</div>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XXL</div>
</label>
</div>
我希望这个选项在行中(不是垂直的)。我该怎么做?
您可以将两个单选选项都包含在一个框内,并为其提供 flex 显示,默认情况下会在一行中显示子框。
只需使用以下代码更新您的HTML
<div class="options">
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XL</div>
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<div class="squareBase accessible">XXL</div>
</label>
</div>
</div>
并用以下
更新你CSSlabel {
width: 100%;
height: 100%;
display: block;
}
input[type="radio"] {
position: absolute;
top: 20px;
left: 50%;
}
input[type="radio"]:checked + .squareBase {
border: grey 2px solid;
outline: black 3px solid;
}
.radio{
width:50px;
}
.squareBase{
width: 30px;
height: 30px;
margin-bottom: 10px;
}
input{
display:none;
}
.options{
display: flex;
}