フレックスボックスでページをスタイリングしています。私は背景の画像とdivの中にうまく中心のイメージを持っていた。このボタンをページに追加すると、以前に中心に置かれていた他の要素がオフセットされます
body {
width: 700px
}
nav {
width: 100%;
height: 50px;
background-color: #ccc
}
.wrapper,
.banner {
display: flex
}
.wrapper {
flex-direction: column
}
.banner {
background-image: url("https://unsplash.it/1000/600/?random");
background-repeat: no-repeat;
background-position: center center;
height: 300px;
}
.banner img {
height: 140px;
width: 140px;
border-radius: 140px;
border: 3px solid #fff;
align-self: center;
margin: auto;
}
<nav>
</nav>
<article class="wrapper">
<section class="banner">
<img id="profile-pic" src="https://unsplash.it/100/100/?random" />
</section>
</article>
このcodepenを参照してください:
https://codepen.io/efbbrown/pen/PmOpWo
今、私は、彼らが喜ば場合、ユーザは、背景画像を変更することができるようにXボタンを追加したいです。私がボタンdivを追加すると、中央に位置するイメージが押し出されます。
追加要素:
<section class="banner">
<div class="close-button"></div>
<img id="profile-pic" src="https://unsplash.it/100/100/?random"></img>
</section>
は完全なジレンマのために、このcodepenを参照してください。
https://codepen.io/efbbrown/pen/PmOpOq
私は、中央画像の位置を変更することなく、div要素に、このXボタンを追加することができますどのように?
ありがとうございます!
位置なしでこれを行う方法はありますか?絶対ですか?私は、ボタンのスタイルを変更することなく、navの高さを変更し、他のセクションがバナーの上に表示されるようにしたいという点で、親に対して相対的なボタンの位置を決めたいと考えています。 – efbbrown
絶対配置は、画面またはウィンドウの幅と高さによって決まるとは限りません。実際には、「位置:相対」としてマークされた最も近い親によって決定されます。相対位置と絶対位置を一緒に使用することは、絶対位置が本当にうまく動作するところです。 バナークラスに 'relative'という位置をマークすることができます。また、そのdivをどこに移動する場合でも、閉じるボタンはバナーdivに基づいて配置されます。 –
私の答えを編集して、バナークラスの設定方法を示しました。 –