首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多个Prompts的无线按钮自定义样式

用于多个Prompts的无线按钮自定义样式
EN

Stack Overflow用户
提问于 2019-07-08 22:36:27
回答 1查看 90关注 0票数 0

基本上,我试图创建我自己的单选按钮组件,以重新反应和重用,但我正在努力使按钮正确工作与样式。如果在第二组中选择一个按钮,即使每组都有不同的name属性,它也没有正确的反应。如果我摆脱了定制风格的话,效果会很好。

我认为这与此有关,但还没有找到解决办法:

代码语言:javascript
复制
.radio-custom {
    opacity: 0;
    position: absolute; 
}

这是我的密码:

https://codepen.io/Sbphillips19/pen/XLyzzN

HTML:

代码语言:javascript
复制
  <form>
        <h2>Radio Button Prompt 1</h2>
        <div>
            <input id="radio-1" class="radio-custom" name="radio-group" type="radio">
            <label for="radio-1" class="radio-custom-label">First Choice</label>
        </div>
        <div>
            <input id="radio-2" class="radio-custom"name="radio-group" type="radio">
            <label for="radio-2" class="radio-custom-label">Second Choice</label>
        </div>
        <div>
            <input id="radio-3" class="radio-custom" name="radio-group" type="radio">
            <label for="radio-3" class="radio-custom-label">Third Choice</label>
        </div>
      </div>



 <h2>Radio Button Prompt 2</h2>
        <div>
            <input id="radio-1" class="radio-custom" name="radio-group-2" type="radio">
            <label for="radio-1" class="radio-custom-label">First Choice</label>
        </div>
        <div>
            <input id="radio-2" class="radio-custom"name="radio-group-2" type="radio">
            <label for="radio-2" class="radio-custom-label">Second Choice</label>
        </div>
        <div>
            <input id="radio-3" class="radio-custom" name="radio-group-2" type="radio">
            <label for="radio-3" class="radio-custom-label">Third Choice</label>
        </div>
      </div>
    </form>

和CSS:

代码语言:javascript
复制
.radio-custom {
    opacity: 0;
    position: absolute; 
}

.radio-custom, .radio-custom-label {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
    cursor: pointer;
}

.checkbox-custom-label, .radio-custom-label {
    position: relative;
}

.radio-custom + .radio-custom-label:before {
    content: '';
    background: white;
    border: 2px solid #888888;
    display: inline-block;
    vertical-align: middle;
    width: 44px;
    height: 44px;
    padding: 2px;
    margin-right: 10px;
    text-align: center;
  border-radius: 50%;
}

.radio-custom:checked + .radio-custom-label:before {
    background: #444444;
    box-shadow: inset 0px 0px 0px 6px #fff;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-08 22:47:17

问题在于attr id应该是唯一的!

html的以下第二部分更改为此,它将工作:

工作示例:https://codepen.io/jo-o-teixeira-the-sasster/pen/agQErM

无线按钮提示2

代码语言:javascript
复制
<div>
        <input id="radio-4" class="radio-custom" name="radio-group-2" type="radio">
        <label for="radio-4" class="radio-custom-label">First Choice</label>
    </div>
    <div>
        <input id="radio-5" class="radio-custom"name="radio-group-2" type="radio">
        <label for="radio-5" class="radio-custom-label">Second Choice</label>
    </div>
    <div>
        <input id="radio-6" class="radio-custom" name="radio-group-2" type="radio">
        <label for="radio-6" class="radio-custom-label">Third Choice</label>
    </div>
  </div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56943298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档