水平布局的绝对按钮只是层叠在一起

时间:2014-05-22 16:42:22

标签: html css button checkbox

我通过在复选框顶部绝对定位标签来设置toogle按钮。我需要它们水平对齐,但它们只是叠加在一起。

<ul style="display: block; float: left;">
        <li style="display: inline-block;">
          <div class="btn_wrapper">
            <input type="checkbox" value="1" id="newest" name=""/>
            <label class="btn btn-sm btn-default" for="newest">Newest</label>
          </div>
        </li>
        <li style="display: inline-block;">
          <div class="btn_wrapper">
            <input type="checkbox" value="1" id="popular" name=""/>
            <label class="btn btn-sm btn-default" for="popular">Popular</label>
          </div>
        </li>
        <li style="display: inline-block;">
          <div class="btn_wrapper">
            <input type="checkbox" value="1" id="price" name=""/>
            <label class="btn btn-sm btn-default" for="price">Price</label>
          </div>
        </li>
      </ul>


ul {
 display: block;
 li {
   display: inline-block
.btn_wrapper {
      position: relative;
      clear: both;

      label {
        display: block;
        cursor: pointer;
        position: absolute;
        top: 5px;
        left: 5px;
        z-index: 1;
        background-color: #CCC;
      }

      input[type=checkbox], input[type=radio] {
        position: absolute;
        top: 5px;
        left: 5px;
      }

      input[type=checkbox]:checked + label {
        color: $shop_color_text_strong;
      }
    }
}
}

这就是它的样子:

enter image description here

1 个答案:

答案 0 :(得分:0)

这就是我最终的目标。基本上将display:none添加到我的输入中,并从标签中删除绝对位置,它很好。

ul {
      display: block;
      li.filter_btn {
        margin-left: -2px;
      }
      li {
        display: inline-block;
        width: auto;
        height: 30px;
        label {
          display: block;
          cursor: pointer;
          top: 5px;
          left: 5px;
          z-index: 1;
          width: auto;
          background-color: #CCC;
        }

        input[type=checkbox], input[type=radio] {
          display: none;
        }

        input[type=checkbox]:checked + label {
          color: $shop_color_text_strong;
        }
      }
    }
相关问题