【发布时间】:2014-12-08 04:29:54
【问题描述】:
使用 opencart 2.0.0 版
在 Product.tpl 页面内有一个包含此内容的 foreach 选项循环
<?php if ($option['type'] == 'image') { ?>
<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
<label class="control-label"><?php echo $option['name']; ?></label>
<div id="input-option<?php echo $option['product_option_id']; ?>">
<?php foreach ($option['product_option_value'] as $option_value) { ?>
<div class="radio">
<label>
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
<img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
<?php } ?>
</label>
</div>
<?php } ?>
</div>
</div>
<?php } ?>
这一切都很好并且工作正常。但我想知道的是,我看到他们已经将 Input 包装在 Label 类中。因为这是一个图像选择,我可以有一个 50 像素的小图像来选择一个选项,您可以单击图像本身而不是单击单选按钮来选择它。
我想知道的是,使用我制作的 jsfiddle http://jsfiddle.net/8fqqrstq/ 我想删除单选按钮本身使用
input[type="radio"] { visability: hidden; }
但人们仍然单击图像来选择该选项。但是!,选择选项,答:checked CSS用于更改图像的边框来说出
border: solid 1px #ff0000
我该怎么做呢?
【问题讨论】:
-
继续阅读相邻的兄弟组合子。
-
我知道相邻的兄弟组合器,通常你会有 input:checked + label {}.... 等....但这不是相邻的,标签被包裹在输入周围.
-
那又怎样?您想要格式化
img,而那些 是 输入元素的相邻兄弟。 -
向你致敬,先生,它正盯着我的脸!输入[type="radio"]:checked + img { 边框:solid 1px #ff0000; }
标签: css twitter-bootstrap radio-button opencart