输入框和按钮具有相同的宽度,但我不想要它

时间:2012-09-07 11:31:06

标签: css

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;
}

输入和按钮具有相同的300px宽度,但我希望按钮为100px宽。怎么了?

2 个答案:

答案 0 :(得分:2)

<强> See Demo

如果您只是将样式应用于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
}

答案 1 :(得分:0)

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

  

输入[类型= '文本']

另外,如果你在CSS #id中使用ID,你不需要在它们前面加上任何东西 - 它也无济于事!