0

Firefox で左にフロートしないチェックボックスに問題があります。私は何を間違っていますか?

実際の例: http://jsfiddle.net/3zhrD/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <title>Example</title>
        <style type="text/css">
body {
    font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
    font-size:12px;
}
p, h1, form, button {
    border:0;
    margin:0;
    padding:0;
}
.spacer {
    clear:both;
    height:1px;
}
/* ----------- My Form ----------- */
.myform {
    margin:0 auto;
    width:400px;
    padding:14px;
}
/* ----------- stylized ----------- */
#stylized {
    border:solid 2px #b7ddf2;
    background:#ebf4fb;
}
#stylized h1 {
    font-size:14px;
    font-weight:bold;
    margin-bottom:8px;
}
#stylized p {
    font-size:11px;
    color:#666666;
    margin-bottom:20px;
    border-bottom:solid 1px #b7ddf2;
    padding-bottom:10px;
}
#stylized label {
    display:block;
    font-weight:bold;
    text-align:right;
    width:140px;
    float:left;
}
#stylized .small {
    color:#666666;
    display:block;
    font-size:11px;
    font-weight:normal;
    text-align:right;
    width:140px;
}
#stylized input { /*260*/
    float:left;
    font-size:12px;
    padding:4px 2px;
    border:solid 1px #aacfe4;
    width:200px;
    margin:2px 10px 2px 10px;
}
#stylized .checkbox {
    margin:2px 10px 28px 10px;

}
#stylized button {
    clear:both;
    margin-left:150px;
    width:125px;
    height:31px;
    background:#666666 url(img/button.png) no-repeat;
    text-align:center;
    line-height:31px;
    color:#FFFFFF;
    font-size:11px;
    font-weight:bold;
}
</style>
        <script type="text/javascript">
            function CredentialsReadonlyToggle() {
                if(document.getElementById("CredToggle").checked){
                    document.getElementById("username").disabled=true;
                    document.getElementById("password").disabled=true;
                }
                else
                {
                    document.getElementById("username").disabled=false;
                    document.getElementById("password").disabled=false;
                }
            }
        </script>
        </head>
        <body>
        <div id="stylized" class="myform">
          <form id="form" name="form" method="post" action="index.html">
            <h1>Select Source</h1>
            <p>This is the basic look of my form without table</p>

            <label>URL <span class="small">URL of Remote Adress</span> </label>
            <input type="text" name="url" id="url" />

            <label>Password? <span class="small">Source requieres password</span> </label>
            <input type="checkbox" onclick="CredentialsReadonlyToggle();" id="CredToggle" class="checkbox"/>

            <label>Username <span class="small">for remote source</span> </label>
            <input type="text" name="username" id="username"/>

            <label>Password <span class="small">for remote source</span> </label>
            <input type="password" name="password" id="password"/>
            <button type="submit">Weiter</button>
            <div class="spacer"></div>
          </form>
        </div>

</body>
</html>​

G-Nuggetの提案に対して、CSS でこれを交互に追加/追加し、チェックボックスの周りに div を配置しましたが、これは同じ結果をもたらします。

#stylized .checkbox {
    float: left;
    margin-left: 0px;
}
#stylized div{
    margin:2px 10px 28px 10px;
    float:left;
    border:solid 1px #000;
    }
4

3 に答える 3

2

こんにちは、ラベルとチェックボックスの CSS を以下のように置き換えます。入力に ​​200px の幅を既に指定しているため、チェックボックスの幅をリセットする必要があります。jsfiddle を変更し、Firefox 15 と chrome の両方でテストしました。

#stylized label {
display:block;
font-weight:bold;
text-align:right;
width:145px;
clear:left;
float:left; }

#stylized .checkbox {
margin:2px 10px 28px 10px;
width:15px;}
于 2012-09-06T11:12:02.660 に答える
0

doctype を html5 に変更したところ、期待どおりの結果が得られました。

過渡的な doctype は quirks モードになるため、使用する大きな理由がない限り避けるのが最善です。

于 2012-09-06T00:20:42.237 に答える
0

次のコードを追加します。#stylized label {clear:both;}

于 2012-09-06T01:28:48.037 に答える