Html 关于div'的简单css问题;s

Html 关于div'的简单css问题;s,html,css,Html,Css,我有这样一个非常简单的页面 !!@#@显然,我不能在jsbin上添加链接到我的页面,因为新用户不允许添加链接 我希望在提供给用户的不同选项之间有一定的差距(比如15px) 我的代码如下: <div id="question" > What month is it? <div style="padding-right: 15px;" id="options"> <input type="radio" name="question1" /

我有这样一个非常简单的页面

!!@#@显然,我不能在jsbin上添加链接到我的页面,因为新用户不允许添加链接

我希望在提供给用户的不同选项之间有一定的差距(比如15px)

我的代码如下:

<div id="question" >
    What month is it?
    <div style="padding-right: 15px;" id="options">
        <input type="radio" name="question1" />Jan
        <input type="radio" name="question1" />Feb
        <input type="radio" name="question1" />May
        <input type="radio" name="question1" />Dec
    </div>
</div>

现在是几月?
简
二月
也许
12月
我认为向右侧添加填充将向div id选项中的每个单选按钮添加填充。但是,它只是在整个div中添加填充


bes处理此问题的方法是什么?

您可以添加以下规则:

div#options input { padding-right: 15px }
它将在id为“options”的div下的每个“input”元素的右侧添加填充

更新:在示例中,一个“id”被多次使用。Id必须是唯一的,所以类更合适。请参见以下示例:

div.options input { padding-right: 15px; }
<div class="options">
    <input type="radio">...
div.options输入{padding right:15px;}
...

该类可用于您希望共享相同样式的其他元素。

您可以添加以下规则:

div#options input { padding-right: 15px }
它将在id为“options”的div下的每个“input”元素的右侧添加填充

更新:在示例中,一个“id”被多次使用。Id必须是唯一的,所以类更合适。请参见以下示例:

div.options input { padding-right: 15px; }
<div class="options">
    <input type="radio">...
div.options输入{padding right:15px;}
...

该类可用于您希望共享相同样式的其他元素。

您的代码要求浏览器在DIV右侧放置15px的填充,因此您需要更具体地使用CSS声明:

#options input { padding-right:15px; }

如果您将其放在样式标签之间或样式表中,它应该能够满足您的需要。

您的代码要求浏览器在DIV的右侧放置15px的填充,因此您需要更具体地使用CSS声明:

#options input { padding-right:15px; }

如果您将其放在样式标记之间或样式表中,它应该能够满足您的需要。

需要记住的是,
内联样式将应用于定义它的标记所在的元素。要影响输入,您需要直接将它们作为目标(演示:1),方法是向它们添加
,将所有输入作为目标(演示:2),或者按照jthompson的建议,将特定div的后代作为目标(参见jthompson的答案)

  • `输入{padding right:15px;}`,或
  • `input[type=“radio”]{padding right:15px;}`//我想这只是CSS3
  • 添加`class=“q1无线电输入”`并使用CSS`.q1无线电输入{padding right:15px;}`
  • 还值得注意的是,使用内联样式没有多大意义,除非它只需要覆盖一次特定样式,否则(据我所知)使用外部工作表总是更明智的,这样可以缓存(如果没有其他内容的话)并且在重新设计/返工站点时更容易影响所有样式

    作为附录,样式的应用顺序如下: 内联stlyes覆盖标头中定义的样式,而标头又覆盖外部样式表。除非样式是用
    定义的!重要信息
    标记,在这种情况下,它不会被覆盖(一切正常)

    以下(某种程度上)有助于:


    根据评论编辑:
    需要记住的是,
    内联样式
    将应用于定义它的标记所在的元素。要影响输入,您需要直接将它们作为目标(演示:1),方法是向它们添加
    ,将所有输入作为目标(演示:2),或者按照jthompson的建议,将特定div的后代作为目标(参见jthompson的答案)

  • `输入{padding right:15px;}`,或
  • `input[type=“radio”]{padding right:15px;}`//我想这只是CSS3
  • 添加`class=“q1无线电输入”`并使用CSS`.q1无线电输入{padding right:15px;}`
  • 还值得注意的是,使用内联样式没有多大意义,除非它只需要覆盖一次特定样式,否则(据我所知)使用外部工作表总是更明智的,这样可以缓存(如果没有其他内容的话)并且在重新设计/返工站点时更容易影响所有样式

    作为附录,样式的应用顺序如下: 内联stlyes覆盖标头中定义的样式,而标头又覆盖外部样式表。除非样式是用
    定义的!重要信息
    标记,在这种情况下,它不会被覆盖(一切正常)

    以下(某种程度上)有助于:


    根据评论编辑:
    我认为问题的根源在于HTML,而不是CSS

    你的HTML没有它可能的那么好/有用。您正在展示一个月的列表,因此请使用以下列表对其进行标记:

    <ol id="options" class="formList">
       <li>
          <input type="radio" name="question1" />Jan
       <li/>
       ....
    </ol>
    
    //离题:

    您也应该向标记中添加标签元素。在表单中使用标签元素会显式地将表单元素的文本标签与该表单元素相关联,从而使站点更易于访问和使用-用户可以单击文本以激活单选按钮,这将为他们提供一个更大的目标,从而使表单更漂亮,用户更快乐

    <label><input type="radio" name="question1" />Jan</label>
    
    Jan
    

    Jan
    
    我认为问题的根源在于HTML,而不是CSS

    你的HTML没有它可能的那么好/有用。您正在展示一个月的列表,因此请使用以下列表对其进行标记:

    <ol id="options" class="formList">
       <li>
          <input type="radio" name="question1" />Jan
       <li/>
       ....
    </ol>
    
    //离题:

    您也应该向标记中添加标签元素。在表单中使用标签元素会显式地将表单元素的文本标签与该表单元素相关联,从而使站点更易于访问和使用-用户可以单击文本以激活单选按钮,这将为他们提供一个更大的目标,从而使表单更漂亮,用户更快乐

    <label><input type="radio" name="question1" />Jan</label>
    
    Jan
    

    Jan
    
    在链接中,您有两个id为“问题”的div和两个id为“问题”的div