【问题标题】:Aligning input and radio buttons with label at different places将输入和单选按钮与不同位置的标签对齐
【发布时间】:2012-12-07 09:33:36
【问题描述】:

我有这个代码:

    <form action="#" method="get">
        <fieldset>
            <div>   
                <label for="profilephoto">Your profile photo</label>
                <input type="file" name="profilephoto" id="profilephoto" />
            </div>
            <div>
                <label for="firstname">Your first name</label>
                <input type="text" name="firstname" id="firstname" />
            </div>
            <div>
                <label for="lastname">Your last name</label>
                <input type="text" name="lastname" id="lastname" />
            </div>
            <div>
                <label for="gender">Gender</label>
                <input type="radio" name="gender" value="female" id="female" />
                <label for="female">Female</label>
                <input type="radio" name="gender" value="male" id="male" />
                <label for="male">Male</label>
            </div>
            <div>
                <label for="birthdategroup">Birth Date</label>
                <select name="Month">
                    <option value="none">- Month -</option>
                    <option value="January">January</option>
                    <option value="February">February</option>
                    <option value="March">March</option>
                    <option value="April">April</option>
                    <option value="May">May</option>
                    <option value="June">June</option>
                    <option value="July">July</option>
                    <option value="August">August</option>
                    <option value="September">September</option>
                    <option value="October">October</option>
                    <option value="November">November</option>
                    <option value="December">December</option>
                </select>
                    <select name="Day">
                    <option value="none">- Day -</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>
                    <option value="22">30</option>
                    <option value="29">31</option>

                </select>
                <select name="year">
                    <option value="none">- Year -</option>
                    <option value="1993">1993</option>
                    <option value="1994">1994</option>
                    <option value="1995">1995</option>
                </select>
                <p>This is hidden by fault from your profile.</p>
            </div>
            <div>
                <label for="about">About you</label>
                <textarea id="about" rows="9" cols="30"></textarea>
            </div>
            <div>
                <label for="websiteaddress">Your website address
                </label>
                <input type="text" id="websiteaddress" name="websiteaddress" />
            </div>
            <div>
                <label for="websitename">Website name</label>
                <input type="text" id="websitename" name="websitename" />
            </div>
            <div>
                <span>preview profile</span> <input type="submit" value="save"/>
            </div>


        </fieldset>
    </form>

所需的设计是这样的: http://d.pr/i/WZ0U

问题是,我试图通过向标签添加填充和宽度来对齐它,但鉴于单选按钮有自己的标签(男性和女性),它也会增加这些按钮之间的空间,这不是不想要。

我该如何设计这个? 此外,由于每个单选按钮已经有自己的标签,因此使用第三个标签来表示“性别”真的合适吗?

【问题讨论】:

  • 只需给性别标签一个类别,并为 label.YourClass 设置不同的规则

标签: html css


【解决方案1】:

为标签添加类,例如,如果单选框标签需要不同的样式,那么其他标签会为这些标签添加特定的类:

<label class="radio">text</label>
<label class="input">text</label>
...

然后使用css中的类:

而不是

label {css code}

使用

.radio {css code}

等等,这样你就可以给不同的标签赋予不同的css。

【讨论】:

    【解决方案2】:

    给“奇数”标签一个类名并单独设置它的样式。

    此外,使用带样式的无序列表作为容器比 DIV 更好。

    见:http://www.alistapart.com/articles/prettyaccessibleforms

    【讨论】:

    • 哦,好的。我会检查这篇文章!谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-04-14
    • 2011-07-31
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多