0

各リスト項目には、div 要素内にテキスト ボックスがあります。

<html>   
    <body>       
        <!-- Window -->
        <div id="sample_container_id">
            <div class="bucket" id="defaultBucket">
                <h3>Default Bucket</h3>
                <input type="button" value="Add" class="button">
                <div class="innerBucket">
                    <ul id="tasks">
                        <li>
                            <div class="TaskDiv">
                                <input type="text" class="TaskTextInput">
                            </div>
                        </li>
                        <li>
                            <div class="TaskDiv">
                                <input type="text" class="TaskTextInput">
                            </div>
                        </li>
                        <li>
                            <div class="TaskDiv">
                                <input type="text" class="TaskTextInput">
                            </div>
                        </li>
                    </ul>
                </div> <!-- innerBucket -->
            </div> <!-- defaultBucket -->
        </div>
    </body>
</html>

結果は次のとおりです。

body 
{
    background-color: #F8F8F8;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2em;
    margin: 15px;
}

h1, p 
{
    color: #333;
}

#sample_container_id 
{
    width: 100%;
    height: 400px;
    position: relative;
    border: 1px solid #ccc;
    background-color: #fff;
    margin: 0px;
}

.innerBucket
{
    width: 290px;
    height: 355px;
    margin-top: 40px;
    margin-left: 5px;
    position: relative;
    background-color: white; 
}

.bucket
{
    width: 300px;
    height: 400px;
    background-color: #ddd;
    position: absolute;
}

.bucket h3
{
    float: left;
    padding-left: 10px;
    padding-top: -10px;
}

.bucket ul
{
    margin: 0;
    padding-left: 30px; 
    position: relavtive;
    list-style: none;
}

.bucket ul li
{
    margin: 0;
    padding: 0;
    text-indent: 0.5em;
    margin-left: -0.5em;
    display: block;
    position: relative;
}

.bucket .button
{        
    background-color:#fbb450;       
    border:1px solid #c97e1c;

    float: right;
    margin: 5px;
    display:inline-block;
    color:#ffffff;
    font-family:Trebuchet MS;
    font-size:17px;
    font-weight:bold;
    padding:2px 11px;
    text-decoration:none;

    text-shadow:0px 1px 0px #8f7f24;
}

結果

ここに画像の説明を入力

お気づきかもしれませんが、最初の項目がインデントされています。リスト項目をすべて左側に配置したいと思います。CSS でこれを修正するにはどうすればよいですか (おそらく私の CSS には多くの問題があり、私はすべてを試していました)。

編集

さらにコードを追加しました。これで問題を再現できるはずです。私はコードの壁を投稿したくなかった:)

解決

問題の解決策を見つけました。問題は実際には<h3>要素でした。下マージンは、最初の要素を横に押し出していました。

ここに画像の説明を入力

これを追加すると問題が修正されました:

.bucket h3
{
    ...
    margin-bottom: 0;
}
4

2 に答える 2

0

私は自分の問題の解決策を見つけました。問題は、div オーバーを強制するヘッダーのマージンでした (私の質問の最後を参照してください)。私がそれを理解したら、解決策は簡単でした。

これを h3 スタイリングに追加するだけで問題が解決しました。

margin-bottom: 0;
于 2013-08-08T16:13:26.993 に答える
0
  • div を必ずクリアするか、FakeRainBrigand がペンで取得したものを取得する場合は、div をフロートしないでください。
  • スペルの相対的な右 そのコードからポジショニングを取ります。それは無意味です。
  • リスト項目は定義上ブロック要素であるため、宣言する必要もありません。
  • 入力タグを閉じます。

float が問題である可能性が高く、目に見えない要素に対して div を押しています。

.TaskDiv
{
    margin: 0; 
    padding: 0;
}

ul
{
    margin: 0;
    padding-left: 30px; 
    list-style: none;
}

ul li
{
    margin: 0;
    padding: 0;
    text-indent: 0.5em;
    margin-left: -0.5em;
}

例: http://jsfiddle.net/calder12/Yw4tB/

于 2013-08-08T01:29:24.760 に答える