CSS ์ฐ๊ธฐ ๋ชจ๋(writing-mode)์ ๋ํ ์ข ํฉ ๊ฐ์ด๋. ๊ตญ์ ํ(i18n)๋ฅผ ์ํ ํ ์คํธ ๋ฐฉํฅ ์ ์ด ๋ฐฉ๋ฒ์ ํ๊ตฌํ๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๋ฉฐ ์ ์ธ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
CSS ์ฐ๊ธฐ ๋ชจ๋: ๊ธ๋ก๋ฒ ์น์ฌ์ดํธ๋ฅผ ์ํ ๊ตญ์ ์ ํ ์คํธ ๋ฐฉํฅ ๋ง์คํฐํ๊ธฐ
์ค๋๋ ๊ณผ ๊ฐ์ด ์ํธ ์ฐ๊ฒฐ๋ ์ธ์์์ ์น์ฌ์ดํธ๋ ๋ค์ํ ์ฌ์ฉ์์ธต์ ๋ง์กฑ์์ผ์ผ ํ๋ฉฐ, ๊ทธ ์ค์ํ ์ธก๋ฉด ์ค ํ๋๋ ๋ค์ํ ํ
์คํธ ๋ฐฉํฅ์ ์ฒ๋ฆฌํ๋ ๊ฒ์
๋๋ค. CSS writing-mode๋ ๊ฐ๋ฐ์๊ฐ ํ
์คํธ๊ฐ ํ๋ฅด๋ ๋ฐฉํฅ์ ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ก, ์ง์ ํ ๊ตญ์ ํ(i18n) ๋ฐ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ธ ์น ๊ฒฝํ์ ๋ง๋ค ์ ์๊ฒ ํฉ๋๋ค. ์ด ์ข
ํฉ ๊ฐ์ด๋์์๋ writing-mode์ ๋ณต์กํ ๋ถ๋ถ์ ํ์ํ๊ณ , ๊ธ๋ก๋ฒ ์น์ฌ์ดํธ๋ฅผ ์ํ ํ
์คํธ ๋ฐฉํฅ์ ๋ง์คํฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ค์ฉ์ ์ธ ์์ ์ ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ๊ฒ์
๋๋ค.
์ฐ๊ธฐ ๋ชจ๋ ์ดํดํ๊ธฐ
writing-mode CSS ์์ฑ์ ํ
์คํธ ์ค์ด ๊ฐ๋ก๋ก ๋ฐฐ์น๋๋์ง ์ธ๋ก๋ก ๋ฐฐ์น๋๋์ง, ๊ทธ๋ฆฌ๊ณ ๋ธ๋ก์ด ์งํ๋๋ ๋ฐฉํฅ์ ์ง์ ํฉ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅธ ์ฐ๊ธฐ ๋ฐฉํฅ์ ์ฌ์ฉํ๋ ์ธ์ด์ ๋ง๊ฒ ์น ํ์ด์ง๋ฅผ ์กฐ์ ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค:
- ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก(LTR): ์์ด, ์คํ์ธ์ด, ํ๋์ค์ด, ๋ ์ผ์ด ๋ฐ ๊ธฐํ ์ฌ๋ฌ ์์ ์ธ์ด.
- ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก(RTL): ์๋์ด, ํ๋ธ๋ฆฌ์ด, ํ๋ฅด์์์ด ๋ฐ ์ฐ๋ฅด๋์ด.
- ์ธ๋ก ์ฐ๊ธฐ: ์ค๊ตญ์ด ๋ฒ์ฒด, ์ผ๋ณธ์ด ๋ฐ ๋ชฝ๊ณจ์ด.
๊ธฐ๋ณธ์ ์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ๋ horizontal-tb ์ฐ๊ธฐ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด๋ ํ
์คํธ๋ฅผ ์์์ ์๋๋ก ์ํ์ผ๋ก ๋ฐฐ์นํฉ๋๋ค. ํ์ง๋ง writing-mode๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ๊ณ ๋ค์ํ ํ
์คํธ ๋ฐฉํฅ์ ์์ฉํ๋ ๋ ์ด์์์ ๋ง๋ค ์ ์์ต๋๋ค.
`writing-mode` ์์ฑ์ ๊ฐ๋ค
writing-mode ์์ฑ์ ์ฌ๋ฌ ๊ฐ์ ํ์ฉํ๋ฉฐ, ๊ฐ ๊ฐ์ ๋ค๋ฅธ ํ
์คํธ ๋ฐฉํฅ๊ณผ ๋ธ๋ก ํ๋ฆ์ ์ง์ ํฉ๋๋ค:
horizontal-tb: ์ํ ์๋จ์์ ํ๋จ์ผ๋ก. ํ ์คํธ ์ค์ด ์ํ์ด๋ฉฐ ์์์ ์๋๋ก ํ๋ฆ ๋๋ค. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.vertical-rl: ์์ง ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก. ํ ์คํธ ์ค์ด ์์ง์ด๋ฉฐ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ํ๋ฆ ๋๋ค. ๋ธ๋ก์ ์๋์ชฝ์ผ๋ก ์งํ๋ฉ๋๋ค.vertical-lr: ์์ง ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก. ํ ์คํธ ์ค์ด ์์ง์ด๋ฉฐ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋ฆ ๋๋ค. ๋ธ๋ก์ ์๋์ชฝ์ผ๋ก ์งํ๋ฉ๋๋ค.sideways-rl:vertical-rl์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋ณ์นญ์ ๋๋ค.sideways-lr:vertical-lr์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋ณ์นญ์ ๋๋ค.
๋ค์ ๊ฐ๋ค๋ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค:
block-flow: ๋ค๋ฅธ ์์ฑ์ ์ํด ์ํฅ์ ๋ฐ์ ์ ์๋ ๋ธ๋ก ์์ ์ปจํ ์คํธ์ ๋ฐฉํฅ์ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ ์์
writing-mode์ ์ฌ์ฉ๋ฒ์ ๋ช ๊ฐ์ง ๊ฐ๋จํ ์์ ๋ก ์ค๋ช
ํด ๋ณด๊ฒ ์ต๋๋ค:
๊ฐ๋ก ํ ์คํธ (๊ธฐ๋ณธ๊ฐ)
์ด๊ฒ์ ๊ธฐ๋ณธ ๋์์ด๋ฏ๋ก ๋ช
์์ ์ธ writing-mode๊ฐ ํ์ํ์ง ์์ต๋๋ค:
<p>์ด๊ฒ์ ๊ฐ๋ก ํ
์คํธ์
๋๋ค.</p>
์ธ๋ก ํ ์คํธ (์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก)
ํ
์คํธ๋ฅผ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ธ๋ก๋ก ํ์ํ๋ ค๋ฉด vertical-rl์ ์ฌ์ฉํฉ๋๋ค:
<p style="writing-mode: vertical-rl;">์ด๊ฒ์ ์ธ๋ก ํ
์คํธ์
๋๋ค (์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก).</p>
์ธ๋ก ํ ์คํธ (์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก)
ํ
์คํธ๋ฅผ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ธ๋ก๋ก ํ์ํ๋ ค๋ฉด vertical-lr์ ์ฌ์ฉํฉ๋๋ค:
<p style="writing-mode: vertical-lr;">์ด๊ฒ์ ์ธ๋ก ํ
์คํธ์
๋๋ค (์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก).</p>
`writing-mode`์ ์ค์ ์ ์ฉ ์ฌ๋ก
๊ธฐ๋ณธ์ ์ธ ํ
์คํธ ๋ฐฉํฅ์ ๋์ด, writing-mode๋ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๊ณ ๊ตญ์ ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ค์ํ ์ค์ ์ ์ฉ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค:
1. RTL ์ธ์ด์ ์ ์ํ๊ธฐ
์๋์ด๋ ํ๋ธ๋ฆฌ์ด์ ๊ฐ์ RTL ์ธ์ด๋ฅผ ์ง์ํ๋ ์น์ฌ์ดํธ์ ๊ฒฝ์ฐ, writing-mode๋ ํ
์คํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ๋ ๋ฐ ํ์์ ์
๋๋ค. CSS ์ ํ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ด ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์์๋ ์ ์ฒด ๋ฌธ์์ writing-mode: rtl;์ ์ ์ฉํ ์ ์์ต๋๋ค:
<html lang="ar">
<body>
<p>ูุฐุง ูุต ุนุฑุจู.</p>
</body>
</html>
html[lang="ar"] {
direction: rtl;
unicode-bidi: bidi-override;
}
direction: rtl;์ด ๊ธฐ๋ณธ ๋ฐฉํฅ์ ์ค์ ํ๋ ๋ฐ ์ค์ํ์ง๋ง, ํผํฉ ๋ฐฉํฅ ํ
์คํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํด unicode-bidi: bidi-override;๋ ํ์ํ ์ ์์ต๋๋ค. ํ๋์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋์ค์ ๋
ผ์ํ ๋
ผ๋ฆฌ์ ์์ฑ์ ์ ํธํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
2. ์ธ๋ก ๋ด๋น๊ฒ์ด์ ๋ฉ๋ด ๋ง๋ค๊ธฐ
writing-mode๋ ์ผ๋ณธ์ด ๋ฐ ์ค๊ตญ์ด ์น์ฌ์ดํธ์์ ์์ฃผ ๋ณผ ์ ์๋ ์ธ๋ก ๋ด๋น๊ฒ์ด์
๋ฉ๋ด๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ์ฌ์ดํธ์ ๋
ํนํ ์๊ฐ์ ๊ฐ๊ฐ์ ๋ํ ์ ์์ต๋๋ค:
<ul class="vertical-menu">
<li><a href="#">ํ</a></li>
<li><a href="#">์๊ฐ</a></li>
<li><a href="#">์๋น์ค</a></li>
<li><a href="#">์ฐ๋ฝ์ฒ</a></li>
</ul>
.vertical-menu {
list-style: none;
padding: 0;
margin: 0;
}
.vertical-menu li a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
background-color: #f0f0f0;
border-bottom: 1px solid #ccc;
writing-mode: vertical-rl;
text-orientation: upright;
}
์ด ์์ ์์ text-orientation: upright;๋ ์ธ๋ก ๋ฉ๋ด ํญ๋ชฉ ๋ด์ ํ
์คํธ๊ฐ ํ์ ๋์ง ์๊ณ ๋๋ฐ๋ก ํ์๋๋๋ก ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
3. ์ก์ง ์คํ์ผ ๋ ์ด์์ ๋์์ธํ๊ธฐ
writing-mode๋ ์ก์ง ์คํ์ผ์ ๋ ์ด์์์ ๊ตฌํํ๋ ๋ฐ ํตํฉ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํฐ ์ด๋ฏธ์ง ์์ ์ธ๋ก ํ
์คํธ๋ฅผ ๊ฒน์ณ ์ธ์์ ์ธ ์๊ฐ ํจ๊ณผ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
<div class="magazine-section">
<img src="image.jpg" alt="Magazine Image">
<div class="vertical-text">๋
์ ์ธํฐ๋ทฐ</div>
</div>
.magazine-section {
position: relative;
width: 500px;
height: 300px;
}
.magazine-section img {
width: 100%;
height: 100%;
object-fit: cover;
}
.vertical-text {
position: absolute;
top: 0;
right: 10px;
color: white;
font-size: 2em;
writing-mode: vertical-rl;
text-orientation: upright;
transform-origin: top right;
transform: rotate(180deg); /* ๋ธ๋ผ์ฐ์ ๊ฐ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋งํ๊ธฐ ์ํด ํ์ */
}
transform: rotate(180deg);๋ ํนํ ๊ตฌํ ๋ฒ์ ์ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ์ผ๊ด๋ ๋ ๋๋ง์ ๋ณด์ฅํ๊ธฐ ์ํด ์ข
์ข
ํ์ํฉ๋๋ค.
4. ๋ฐ์ดํฐ ์๊ฐํ ํฅ์์ํค๊ธฐ
๋ฐ์ดํฐ ์๊ฐํ์์ writing-mode๋ ํนํ ๊ณต๊ฐ์ด ์ ํ์ ์ผ ๋ ์ฐจํธ์ ๊ทธ๋ํ์ ์ถ ๋ ์ด๋ธ์ ์ง์ ํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ๋ก ์ถ์ ๋ ์ด๋ธ์ด ๊ฒน์น์ง ์๋๋ก ํ์ ์ํฌ ์ ์์ต๋๋ค.
๊ณ ๊ธ ๊ธฐ์ ๋ฐ ๊ณ ๋ ค ์ฌํญ
writing-mode์ ํ์ ์ต๋ํ ํ์ฉํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ์ ๊ณผ ์ค์ํ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
1. ๋ ผ๋ฆฌ์ ์์ฑ ๋ฐ ๊ฐ
ํ๋ CSS๋ ๋ ์ด์์๊ณผ ๋ฐฉํฅ์ ์ฒ๋ฆฌํ๋ ๋ ์ ์ฐํ๊ณ ์๋ฏธ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ๋
ผ๋ฆฌ์ ์์ฑ๊ณผ ๊ฐ์ ๋์
ํ์ต๋๋ค. left ๋ฐ right์ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์์ฑ ๋์ , ์ฐ๊ธฐ ๋ฐฉํฅ์ ์ ์ํ๋ start ๋ฐ end์ ๊ฐ์ ๋
ผ๋ฆฌ์ ์์ฑ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
margin-inline-start: LTR์์๋margin-left, RTL์์๋margin-right์ ํด๋นํฉ๋๋ค.padding-block-start: ๊ฐ๋ก ์ฐ๊ธฐ ๋ชจ๋์์๋padding-top, ์ธ๋ก ์ฐ๊ธฐ ๋ชจ๋์์๋padding-left๋๋padding-right์ ํด๋นํฉ๋๋ค.
๋ ผ๋ฆฌ์ ์์ฑ์ ์ฌ์ฉํ๋ฉด ํนํ ์ฌ๋ฌ ์ฐ๊ธฐ ๋ฐฉํฅ์ ์ฒ๋ฆฌํ ๋ CSS๋ฅผ ๋ ์ ์์ฑ ์๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
2. `writing-mode`์ ๋ค๋ฅธ CSS ์์ฑ ๊ฒฐํฉํ๊ธฐ
writing-mode๋ text-orientation, direction, unicode-bidi์ ๊ฐ์ ๋ค๋ฅธ CSS ์์ฑ๊ณผ ์ํธ ์์ฉํ์ฌ ํ
์คํธ์ ๋ชจ์๊ณผ ๋์์ ์ ์ดํฉ๋๋ค. ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด๋ฌํ ์ํธ ์์ฉ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
text-orientation: ์ธ๋ก ์ฐ๊ธฐ ๋ชจ๋์์ ๋ฌธ์์ ๋ฐฉํฅ์ ์ง์ ํฉ๋๋ค. ๊ฐ์๋upright,sideways,mixed,use-glyph-orientation๊ฐ ์์ต๋๋ค.direction: ํ ์คํธ์ ๊ธฐ๋ณธ ๋ฐฉํฅ(LTR ๋๋ RTL)์ ์ง์ ํฉ๋๋ค.unicode-bidi: ์ ๋์ฝ๋ ์๋ฐฉํฅ ์๊ณ ๋ฆฌ์ฆ์ด ์์์ ์ ์ฉ๋๋ ๋ฐฉ์์ ์ ์ดํฉ๋๋ค.
3. ํผํฉ ๋ฐฉํฅ ํ ์คํธ ์ฒ๋ฆฌ
LTR ๋ฐ RTL ๋ฌธ์๊ฐ ๋ชจ๋ ํฌํจ๋ ํ
์คํธ(์: ์๋์ด ๋จ๋ฝ ๋ด์ ์์ด ํ
์คํธ)๋ฅผ ์ฒ๋ฆฌํ ๋๋ ์ฌ๋ฐ๋ฅธ ๋ ๋๋ง์ ๋ณด์ฅํ๊ธฐ ์ํด unicode-bidi ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. bidi-override ๊ฐ์ ํน์ ๋ฐฉํฅ์ ๊ฐ์ ํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
<p dir="rtl">ูุฐุง ูุต ุนุฑุจู ูุชุถู
ู ุจุนุถ ุงูููู
ุงุช ุงูุฅูุฌููุฒูุฉ <span style="unicode-bidi: bidi-override; direction: ltr;">์ด ์์์ฒ๋ผ.</span></p>
4. ํฐํธ ๊ณ ๋ ค ์ฌํญ
๋ชจ๋ ํฐํธ๊ฐ ์ธ๋ก ์ฐ๊ธฐ์ ์ ํฉํ ๊ฒ์ ์๋๋๋ค. ์ผ๋ถ ํฐํธ์๋ ์ธ๋ก ์ฐ๊ธฐ๋ฅผ ์ํ ๊ธ๋ฆฌํ๊ฐ ์๊ฑฐ๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋ง๋์ง ์์ ์ ์์ต๋๋ค. ์ธ๋ก ์ฐ๊ธฐ ๋ชจ๋๋ฅผ ์ฌ์ฉํ ๋๋ ์ธ๋ก ํ ์คํธ์ฉ์ผ๋ก ํน๋ณํ ์ค๊ณ๋์๊ฑฐ๋ ์ธ๋ก ๊ธ๋ฆฌํ๋ฅผ ์ ์ง์ํ๋ ํฐํธ๋ฅผ ์ ํํ์ญ์์ค.
๋์์์ ๊ตญ๊ฐ(์ค๊ตญ, ์ผ๋ณธ, ํ๊ตญ)์ ํฐํธ๋ ์ผ๋ฐ์ ์ผ๋ก ์ธ๋ก ์ฐ๊ธฐ๋ฅผ ๋งค์ฐ ์ ์ง์ํฉ๋๋ค.
5. ์ ๊ทผ์ฑ
writing-mode ์ฌ์ฉ์ด ์ ๊ทผ์ฑ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ์ญ์์ค. ์ด๋ฏธ์ง ๋ฐ ๊ธฐํ ๋นํ
์คํธ ์ฝํ
์ธ ์ ๋ํ ๋์ฒด ํ
์คํธ๋ฅผ ์ ๊ณตํ๊ณ , ํ
์คํธ๊ฐ ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์์๊ฒ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด์ง ํ์ธํ์ญ์์ค. ์ ๊ทผ์ฑ์ ํฅ์์ํค๊ธฐ ์ํด ์๋งจํฑ HTML ์์์ ARIA ์์ฑ์ ์ฌ์ฉํ์ญ์์ค.
6. ๋ธ๋ผ์ฐ์ ํธํ์ฑ
writing-mode๋ ์ต์ ๋ธ๋ผ์ฐ์ ์์ ์ ์ง์๋์ง๋ง, ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์๋ ๊ณต๊ธ์
์ฒด ์ ๋์ฌ(์: -webkit-writing-mode, -ms-writing-mode)๊ฐ ํ์ํ ์ ์์ต๋๋ค. Sass๋ Less์ ๊ฐ์ CSS ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ธ์
์ฒด ์ ๋์ฌ ์ถ๊ฐ๋ฅผ ์๋ํํ๊ฑฐ๋ Autoprefixer์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
`writing-mode` ์ฌ์ฉ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
writing-mode๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ ์ธ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค:
- ๊ฐ๋ฅํ ๋๋ง๋ค ๋ ผ๋ฆฌ์ ์์ฑ๊ณผ ๊ฐ์ ์ฌ์ฉํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด CSS๋ฅผ ๋ ์ ์์ฑ ์๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ธ๋ก ์ฐ๊ธฐ ๋ชจ๋์ ์ ํฉํ ํฐํธ๋ฅผ ์ ํํ์ญ์์ค. ํฐํธ๊ฐ ์ธ๋ก ํ ์คํธ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋ง๋๋์ง ํ ์คํธํ์ญ์์ค.
- ์ ๊ทผ์ฑ์ ๊ณ ๋ คํ์ญ์์ค.
writing-mode์ฌ์ฉ์ด ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์์ ์ ๊ทผ์ฑ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ์ญ์์ค. - ๋ค์ํ ๋ธ๋ผ์ฐ์ ์ ์ฅ์น์์ ๋ ์ด์์์ ํ ์คํธํ์ญ์์ค. ๋ ์ด์์์ด ์ฌ๋ฌ ํ๋ซํผ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋ง๋๋์ง ํ์ธํ์ญ์์ค.
- CSS ์ ์ฒ๋ฆฌ๊ธฐ๋ Autoprefixer๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ธ์ ์ฒด ์ ๋์ฌ๋ฅผ ์ฒ๋ฆฌํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ ์ฝํ๊ณ CSS๊ฐ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์ ํธํ๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
- ์ฝํ ์ธ ์ ํํ์ ๋ถ๋ฆฌํ์ญ์์ค. CSS๋ฅผ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ์ ํํ์ ์ ์ดํ๊ณ ์คํ์ผ๋ง ๋ชฉ์ ์ผ๋ก HTML์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
`writing-mode`๋ฅผ ์ฌ์ฉํ๋ ๊ธ๋ก๋ฒ ์น์ฌ์ดํธ ์์
์ ์ธ๊ณ์ ๋ง์ ์น์ฌ์ดํธ๊ฐ RTL ์ธ์ด์ ์ ์ํ๋ ๊ฒ๋ถํฐ ์๊ฐ์ ์ผ๋ก ๋
ํนํ ๋ ์ด์์์ ๋ง๋๋ ๊ฒ๊น์ง ๋ค์ํ ๋ชฉ์ ์ผ๋ก writing-mode๋ฅผ ํ์ฉํฉ๋๋ค. ๋ช ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์๋์ด ๋๋ ํ๋ธ๋ฆฌ์ด ๋ด์ค ์น์ฌ์ดํธ: ์ด๋ฌํ ์น์ฌ์ดํธ๋ ํ
์คํธ์ ์ฌ๋ฐ๋ฅธ ํ์๋ฅผ ์ํด
direction: rtl๋ฐ ์ ์ฌ์ ์ผ๋กwriting-mode์กฐ์ ์ ์ฌ์ฉํฉ๋๋ค. - ์ผ๋ณธ ๋ฐ ์ค๊ตญ ์์ ๋ฐ ๋ฌธํ ์น์ฌ์ดํธ: ์ข ์ข ์ ๋ชฉ, ๋ฉ๋ด ๋ฐ ์ฅ์ ์์์ ์ธ๋ก ์ฐ๊ธฐ๋ฅผ ํตํฉํฉ๋๋ค.
- ํจ์ ์ก์ง: ์คํ์ผ ํจ๊ณผ๋ฅผ ์ํด ์๊ฐ์ ๋ ์ด์์์ ์ธ๋ก ํ ์คํธ๋ฅผ ์์ฃผ ์ฌ์ฉํฉ๋๋ค.
๊ฒฐ๋ก
CSS writing-mode๋ ๊ตญ์ ํ๋๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ์
๋๋ค. ์ด ์์ฑ์ ๋ค์ํ ๊ฐ์ ์ดํดํ๊ณ ๋ค๋ฅธ CSS ์์ฑ๊ณผ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ํ์
ํจ์ผ๋ก์จ ๋ค์ํ ํ
์คํธ ๋ฐฉํฅ์ ์ ์ํ๊ณ ์ ์ธ๊ณ ์ฌ์ฉ์์ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ ์ด์์์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์น์ฌ์ดํธ๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ด๋๋ก ์ ๊ทผ์ฑ, ๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ฐ ํฐํธ ์ ํ์ ๊ณ ๋ คํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
์น ๊ฐ๋ฐ์ด ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ, writing-mode์ ๊ฐ์ ๊ธฐ์ ์ ๋ง์คํฐํ๋ ๊ฒ์ ์ง์ ์ผ๋ก ๊ธ๋ก๋ฒํ๊ณ ํฌ์ฉ์ ์ธ ์จ๋ผ์ธ ๊ฒฝํ์ ๋ง๋๋ ๋ฐ ์ ์ ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค. ๊ตญ์ ํ์ ํ์ ๋ฐ์๋ค์ฌ ์ ์ธ๊ณ ๋ชจ๋ ๊ณณ์ ์ฌ์ฉ์์ ๊ณต๊ฐ๋๋ฅผ ํ์ฑํ๋ ์น์ฌ์ดํธ๋ฅผ ๋ง๋์ญ์์ค.