1

html:

<form id="personal_info" action="..." method="post">
    <legend>Personal info</legend>
    <p>
        <label for="fullname">Your name: </label>
        <input name="fullname" id="fullname" type="text" tabindex="1" />
    </p>
    <p>
        <label for="email">Your e-mail: </label>
        <input name="email" id="email" type="text" tabindex="2" />
    </p>
    <p><input id="send" type="submit" value="Send" /></p>
</form>

CSS:

form#personal_info {
    background:#dee;
    width:470px;
    padding:10px;
    border:1px solid #000;
    margin:0;
}
form#personal_info legend {
    font-family:georgia, sans-serif;
    font-size:1.1em;
    font-weight:bold;
    border:3px solid #fff;
    margin-bottom:5px;
    padding:3px;
    width:270px;
    background:#fff url(legend.gif) repeat-x center left;
}
form#personal_info label {
    clear:left;
    display:block;
    float:left;
    width:100px;
    text-align:right;
    padding-right:10px;
    color:#888;
    margin-bottom:0.5em;
}
form#personal_info input {
    border:1px solid #fff;
    background:#fff url(legend.gif) repeat-x top left;
    padding-left:0.5em;
    margin-bottom:0.6em;width:300px;
}
form#personal_info #button1 {
    color:#c00;
    padding-right:0.5em;
    cursor:pointer;
    margin-left:8px;
    width:100px;
}
form#personal_info #button1:hover {
    background-position:center left;
    color:#000;
    width:100px;
}

输入和按钮的宽度相同,均为 300 像素,但我希望按钮的宽度为 100 像素。怎么了?

4

2 回答 2

2

看演示

如果您只是对其应用样式,input则会将这些样式应用于所有input元素,例如textboxbutton因为它们是输入元素。

您应该使用id's唯一地应用样式。

使用#button并不意味着这些样式将应用于buttons.

您可以做的是将 id 分配给您的输入元素,然后相应地应用样式

<input id="txtEmail" type="text"/>
<input id="btnSend" type="submit"/>

CSS:

#txtEmail
{
//your styles
}

#btnSend
{
//your styles
}

或者你可以做这样的事情

input[type="text"]
{
//your styles
}    

input[type="submit"]
{
//your styles
}
于 2012-09-07T11:36:39.527 回答
0

您可以指定规则应更改的输入类型:

输入[类型='文本']

此外,如果您在 CSS #id 中使用 ID,则无需在它们前面加上任何前缀 - 这无济于事!

于 2012-09-07T11:43:35.337 回答