0

left:を使用して画像を明示的に配置すると、正しく配置されますが、left:を削除すると、代わりにmargin-left:autoとmargin-right:autoに置き換えられ、左側に配置されます。私は何を間違えましたか?

<body>
    <div id = "main_header" href="http://xxx" >
        <img id = "logo" src="logo.png"/>
        <h1 id = "main_title">Title</h1>
    </div>


    body {
        position:relative;
        background-image: url("large_background.png");
        font-family: Helvetica; 
        margin: 0;              /* Amount of negative space around the outside of the body */
        padding: 0;             /* Amount of negative space around the inside of the body */
    }

    #main_header {
        position: relative;
    }


    #logo {
        position:absolute;
        top: 5px;
        left: 140px;
        height: 50px;
        width: 50px;
    }
4

1 に答える 1

0

画像のcssは絶対位置に設定されています。この属性を使用すると、「ロゴ」はdiv「main_header」を基準にして配置されます。これはposition:relativeに設定されているためです。そのため、マージンは機能しません。位置:絶対的に「左」、「上」などのみが機能します。

マージンを使用するには、position属性を削除する必要があります。

于 2012-09-03T00:51:35.690 に答える