【问题标题】:line between radio button in csscss中单选按钮之间的行
【发布时间】:2016-06-01 21:38:22
【问题描述】:

我制作了这样的单选按钮:

我想在 css 中的单选按钮之间画线,如下所示:

我用表格标签使我的表单看起来像这样。

    <table>
    <tbody>
        <tr>
            <td>
                <label for="answer_1">1</label>
            </td>

            <td>
                <label for="answer_2">2</label>
            </td>
            <td>
                <label for="answer_3">3</label>
            </td>
            <td>
                <label for="answer_4">4</label>
            </td>
            <td>
                <label for="answer_5">5</label>
            </td>
        </tr>
        <tr>
            <td>
                <input name="answer" id="answer_1" type="radio">
            </td>
            <td>
                <input name="answer" id="answer_2" type="radio">
            </td>
            <td>
                <input name="answer" id="answer_3" type="radio">
            </td>
            <td>
                <input name="answer" id="answer_4" type="radio">
            </td>
            <td>
                <input name="answer" id="answer_5" type="radio">
            </td>
        </tr>
    </tbody>
</table>

你可以在这里看到结果: https://jsfiddle.net/zpejzpw5/
如何在我的单选按钮之间画线?

【问题讨论】:

    标签: html css


    【解决方案1】:

    使用:after 伪元素,你应该可以实现:

    td input {
      position: relative;
    }
    td input:after {
        display: block;
        content: " ";
        position: absolute;
        bottom: 6px;
        background: #000;
        height: 2px;
        width: 100%;
        right: -12px;
    }
    td:last-child input:after {
      display: none;
    }
    <table>
        <tbody>
            <tr>
                <td>
                    <label for="answer_1">1</label>
                </td>
    
                <td>
                    <label for="answer_2">2</label>
                </td>
                <td>
                    <label for="answer_3">3</label>
                </td>
                <td>
                    <label for="answer_4">4</label>
                </td>
                <td>
                    <label for="answer_5">5</label>
                </td>
            </tr>
            <tr>
                <td>
                    <input name="answer" id="answer_1" type="radio">
                </td>
                <td>
                    <input name="answer" id="answer_2" type="radio">
                </td>
                <td>
                    <input name="answer" id="answer_3" type="radio">
                </td>
                <td>
                    <input name="answer" id="answer_4" type="radio">
                </td>
                <td>
                    <input name="answer" id="answer_5" type="radio">
                </td>
            </tr>
        </tbody>
    </table>

    【讨论】:

    • 可以用箭头换行吗?
    • 我不懂 CSS 中的魔法,你能解释一下是什么让地平线连接了 2 个单选按钮吗?
    【解决方案2】:

    使用此代码

    td {
      text-align: center
    }
    .line td {
      position: relative;
    }
    .line td:after {
      content: '';
      border-bottom: 1px solid #ccc;
      width: 100%;
      height: 1px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(0, -100%);
      z-index: -1;
    }
    .line td:last-child:after {
      display: none;
    }
    }
    <span id="reponses">
      <table>
        <tbody>
          <tr>
            <td>
              <label for="answer_1">1</label>
            </td>
            <td>
              <label for="answer_2">2</label>
            </td>
            <td>
              <label for="answer_3">3</label>
            </td>
            <td>
              <label for="answer_4">4</label>
            </td>
            <td>
              <label for="answer_5">5</label>
            </td>
          </tr>
          <tr class="line">
            <td>
              <input name="answer" id="answer_1" type="radio">
            </td>
            <td>
              <input name="answer" id="answer_2" type="radio">
            </td>
            <td>
              <input name="answer" id="answer_3" type="radio">
            </td>
            <td>
              <input name="answer" id="answer_4" type="radio">
            </td>
            <td>
              <input name="answer" id="answer_5" type="radio">
            </td>
          </tr>
        </tbody>
      </table>
    </span>

    【讨论】:

    • 随着你的z-index,伪元素消失在我的桌子后面。当我将 z-index 更改为 0 时,我的收音机位于 after 元素的后面。我该如何纠正?
    • 我找到了:radio{position:relative;z-index:1}
    猜你喜欢
    • 2012-02-24
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多