๐์ฒ์์ ํค๋ ๋ถ๋ถ์ '๋ฐ๋ณด์' ํ ์คํธ๊ฐ ํ๋ฉด ์ค์์ ์์ง์๋ค. ์ด๋ฅผ ์กฐ์ ํด๋ณผ๊ฒ์ด๋ค.
1. ๋จผ์ ๊ฐ ์ปฌ๋ผ(<,๋ฐ๋ณด์,๋๋ณด๊ธฐ)์ ๋๋น๋ฅผ ์ ์ฒดํ๋ฉด๋๋น 33%
๋ก ์ค์ ํ๋ค.
.alt-header__column {
width: 33%;
}
display:flex
๋ฅผ ์ ์ฉํ๊ณ justify-contents: flex-end
๋ฅผ ํตํด ์ค๋ฅธ์ชฝ ๋์ผ๋ก ์์น์ํจ๋ค..alt-header__column:last-child {
margin-left: auto;
display: flex;
justify-content: flex-end;
}
3. ๋๋ฒ์งธ์ปฌ๋ผ(๋ฐ๋ณด์)์ text-align:center
๋ฅผ ์ ์ฉํ์ฌ ํ
์คํธ๊ฐ ์ค์์ ์ค๊ฒํ๋ค.
.alt-header__column:nth-child(2) {
text-align: center;
}
๐์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ์ด์ด ๊ฐ์ ๋๋น๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
์ํ๋ฐ์ ํค๋์ ๋ฐฐ๊ฒฝ์์ ์ ์ฉํ๋ ์ํ๋ฐ๊ฐ ๊ฐ๋ ค์ง๋ ์ ์ ํด๊ฒฐํด๋ณด์. ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ํค๋๊ฐ ์ํ๋ฐ๋ฅผ ๊ฐ๋ฆฌ๊ณ ์๋ค.
๐กz-index
๋ผ๋ ์์ฑ์ผ๋ก ํด๊ฒฐํ ์์๋ค.
#char-screen .status-bar {
z-index: 2;
}
#chat-screen .alt-header {
z-index: 1;
}
z-index: 2;
๋ฅผ ์ฃผ๊ณ , .alt-header์๋ z-index: 1;
์ ์ค์ ์ํ๋ฐ๋ฅผ ํค๋ ์๋ก ์ฌ๋ฆฌ๋ฉด ๋จ!๐๐ ๊ทธ๋ผ ์๋์ ๊ฐ์ด ์ ์์ ์ผ๋ก ๋
ธ์ถ๋๋ค.
<main class="main-screen main-chat">
<div class="chat__timestamp">Sunday, June 26, 2023</div>
</main>
.chat__timestamp {
color: white;
background-color: #92a4b2;
padding: 15px 15px;
border-radius: 25px;
}
.main-chat {
display:flex;
}
.main-chat {
display: flex;
flex-direction: column;
}
flex-direction: column;
์ ์ฃผ๋ฉด ์ด๋ ๊ฒ ๋๋ค. align-items:center;
๋ฅผ ํด์ผํ๋ค..main-chat {
margin-top: 150px;
display: flex;
flex-direction: column;
align-items: center;
}
๋ ๋ค๋ฅธ ์๋ฅผ ๋ค์ด๋ณด์.
.main-chat{ }
์ display:flex๋ง ์ฃผ๊ฒ๋๋ฉด.chat__timestamp
์ .message-row
๋ ๊ฐ๊ฐ ์์ผ๋ก ๋๋ํ ์ ๋ ฌ๋๋ค..message-row { width: 100%; }
๋ฅผ ์ฃผ์ด์ ๋ถ๋ชจ์ ๋๋น์ ๋์ผํ๊ฒ ๋ง๋ ๋ค.flex-direction: row-reverse์ ๋ํด ์์๋ณด์.
order
์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์๋ค. ์์์ ์์๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. .message-row--own .message__bubble {
order: 1;
}
.message-row--own .message__time {
order: 0;
}
==> ํ์ง๋ง ์ด๋ ๊ฒ๋ ์ธ ์ ์๋ค. ๊ทธ๋ฅ flex-direction :row-reverse
๋ผ๊ณ ์ฃผ๋ฉด๋๋ค. ๊ธฐ๋ฅ์ ๋์ผํ๋ค.
์ด์ , ์ ๋ ฅ ๋ถ๋ถ์ ๋ง๋ค์ด ๋ณผ๊ฒ์ด๋ค.
.
.
.
<form class="reply">
<div class="reply__column">
<i class="fas fa-plus-square"></i>
</div>
<div class="reply__column">
<input type="text" placeholder="Write a Message" />
<i class="far fa-smile"></i>
<i class="fas fa-arrow-up"></i>
</div>
</form>
.
.
.
.reply {
position: fixed;
bottom: 0;
width: 100%;
}
๊ทธ ๋ค์์ ์
๋ ฅ ๋ถ๋ถ์ ๋งจ๋ฐ์ผ๋ก ๋ด๋ฆฐ๋ค.
.reply {
position: fixed;
bottom: 0;
width: 100%;
background-color: white;
display: flex;
justify-content: space-between;
padding: 5px 15px;
align-items: center;
}
์ด๋ ๊ฒ ์ผ๋จ ํด์ฃผ๋ฉด ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋๋ค.
์ฌ๊ธฐ์, <input>
์ width: 100%
๋ฅผ ์ฃผ๋ ค๊ณ ํ๋๋ฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๋ชจ์์๊ฐ <body>
๊ฐ ์๋๋ผ๋ฉด ๋ถ๋ชจ์์๊ฐ width๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค. ์ฌ๊ธฐ์๋ <input>
์ ๋ถ๋ชจ์์์ธ <div class="reply__column">
๊ฐ width๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค.
์ด๋ ๊ฒ ์ฃผ๋ฉด ์๋ ๊ทธ๋ฆผ ์ฒ๋ผ ๋๋ค.
<input>
, <i>
์ ๋ชจ๋ ์ธ๋ผ์ธ ์์๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ์์ ๋ค๋ฅธ ์ธ๋ผ์ธ ์์๊ฐ ์์ผํ๋๋ฐ, input์์์ width๋ฅผ 100%์คฌ๊ธฐ๋๋ฌธ์ <input>
์์๊ฐ ๋๋น๋ฅผ ๋ชจ๋ ์ฐจ์งํ๊ฒ๋๋ค. ๊ทธ๋์ <i>
์์๋ ๋ค์ ์ค์ ๋ฐฐ์น๋๋ค.
๊ทธ ๋ค์์, ๋ ์์ด์ฝ์ absolute๋ก ๋ง๋ค๊ฒ์ด๋ค. ์์ด์ฝ์ top,bottom,left,right์ ํตํด input์์ ์ฌ๋ฆด๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ ค๋ฉด ์ผ๋จ <div class="reply__column">์ position:relative
๊ฐ ๋์ผํ๋ค.
.reply .reply__column:last-child {
width: 90%;
position: relative;
}