1

我正在寻找一种巧妙的方式来分隔我的表单元素,但我不太确定如何去做。

目前,我正在使用普通<br/>的空间,但我想知道是否有更好的方法来使用类或 id

<form>
  Message: <input type="text" class="msg" name="message" /><br/><br/>
   <input type="submit" class="c-add" value="Add" />
   <input type="submit" class="c-update" value="Update" />
  </form>

我在想

 .c-add + .c-update{
  margin-right:100px;
  }

但这不是有效的css。解决方案是什么?

4

3 回答 3

4

.c-add + .c-update是一个有效的 CSS 选择器。它选择所有带有“c-update”类的元素,紧跟在带有“c-add”类的元素之后。示例:DEMOCSS 选择器参考

解决方案

您可以用逗号分隔多个选择器。您不需要给每个输入一个唯一的类名。仅当您想为它们设置独特的样式时才需要这样做。由于您没有提供有关预期结果的信息,因此我使用不同的解决方案制作了一个演示:

演示

HTML 标记:

<form class="form">
   <label>Message:</label><input type="text" class="msg" name="message" />
   <input type="submit" class="add" value="Add" />
   <input type="submit" class="update" value="Update" />
</form>

请注意,我用标签包裹了“消息”,这是更好的标记。

CSS 制作单行内联表单:

.form input {
    margin-right: 0.5em;
}

.form label {
    float: left;
    margin-right: 0.5em;
}    

CSS 制作多行表单:

.form input {
    display: block;
    margin-bottom: 1em;
}

.form label {
    float: left;
    margin-right: 0.5em;
} 

您可以通过为每个输入元素或类型使用特定的类来混合使用这两种方法。

于 2012-06-30T09:30:50.570 回答
2

使用逗号分隔选择器。

.c-add, .c-update {
于 2012-06-30T09:23:39.870 回答
1

结构,也许是这样的:

<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
    <ul>
        <li>
            <label>
                <span>Name</span>
                <input type="text" name="name" />
                <small class="errorText"><?php echo ($_POST["name"] == "") ? "This field is required" : ""; ?></small>
            </label>
        </li>
        <li>
            <label>
                <span>Email</span>
                <input type="text" name="email" />
                <small class="errorText"><?php echo ($_POST["email"] == "") ? "This field is required" : ""; ?></small>
            </label>
        </li>
        <li>
            <label>
                <span>Subject</span>
                <input type="text" name="subject" />
                <small class="errorText"><?php echo ($_POST["subject"] == "") ? "This field is required" : ""; ?></small>
            </label>
        </li>
        <li>
            <label>
                <span>Message</span>
                <textarea name="message" cols="80" rows="7"></textarea>
                <small class="errorText"><?php echo ($_POST["message"] == "") ? "This field is required" : ""; ?></small>
            </label>
        </li>
        <li>
            <input type="submit" name="submit" value="Send" />
        </li>
    </ul>
</form>

和相同的CSS:

* {font-family: Segoe UI, Tahoma;}
h1 {font-weight: bold; font-size: 14pt; padding: 5px 0; margin: 5px 0; border: 1px solid #999; border-width: 1px 0;}
input[type='submit'] {padding: 5px 20px; cursor: pointer;}
ul, li {display: block; list-style: none; margin: 0; padding: 0;}
ul li {padding: 5px 0;}
ul li label span {display: block; cursor: pointer;}
ul li label .errorText {color: #f00; font-weight: bold; vertical-align: top;}
ul li label textarea {width: 300px;}

你可以在这里看到一个现场演示:Demo

于 2012-06-30T09:24:24.970 回答