CSS - Unicode-bidi 속성: 이중 방향 텍스트 마스터링
안녕하세요, 미래의 웹 개발자 여러분! 오늘 우리는 흥미로운 여정을 떠나 CSS의 세계로 나아가고,처음에는 조금 두려울 수 있는 속성을 탐구해보겠습니다: unicode-bidi
. 하지만 걱정 마세요, 이 튜토리얼이 끝나면, 당신은 이중 방향 텍스트를 마스터하는 프로가 될 것입니다!
Unicode-bidi는 무엇인가요?
먼저, unicode-bidi
에 대해 이해해 보겠습니다. 영어(왼쪽에서 오른쪽으로)와 아랍어(오른쪽에서 왼쪽으로)를 포함한 다 언어 웹사이트를 작성하는 상상해 봅시다. 각 언어가 올바르게 표시되도록 어떻게 해야 할까요? 바로 unicode-bidi
가 구원자로 등장합니다!
unicode-bidi
속성은 CSS에서 이중 방향 텍스트를 다루는 데 유용한 당신의 충실한 동반자입니다. 이 속성은 문서에서 이중 방향 텍스트가 어떻게 처리되는지 제어하여, 작성 방향에 관계없이 콘텐츠가 올바르게 표시되도록 도와줍니다.
가능한 값
unicode-bidi
속성의 가능한 값을 살펴보겠습니다:
값 | 설명 |
---|---|
normal | 엘리먼트는 추가적인 임bedding 레벨을 여는 않음 |
embed | 추가적인 임bedding 레벨을 여는 것 |
bidi-override | 이중 방향 알고리즘에 대한 오버라이드를 생성 |
isolate | 엘리먼트는 형제 요소들로부터 분리됨 |
isolate-override | 'isolate'와 'bidi-override'의 효과를 결합 |
plaintext | 엘리먼트는 분리되고 이중 방향 포맷팅이 재설정됨 |
이제 이 것들이 혼란스러울 수 있지만, 예제와 함께 자세히 탐구해보겠습니다!
적용 대상
unicode-bidi
속성은 모든 엘리먼트에 적용할 수 있습니다. 그러나 일반적으로 인라인 엘리먼트나 display: inline
으로 설정된 엘리먼트에 가장 많이 사용됩니다.
DOM 문법
JavaScript에서 unicode-bidi
를 사용하려면 다음과 같은 문법을 사용할 수 있습니다:
object.style.unicodeBidi = "value"
이제 각 값을 하나씩 탐구하고, 그들이 어떻게 작동하는지 보겠습니다!
CSS unicode-bidi - normal 값
normal
값은 기본 설정입니다. 이는 이중 방향 알고리즘에 대한 추가적인 임bedding 레벨을 여지 않습니다.
<p style="unicode-bidi: normal;">
This is English text.これは日本語のテキストです.
</p>
이 예제에서 텍스트는 다음과 같이 표시됩니다:
This is English text.これは日本語のテキストです.
영어 텍스트는 왼쪽에서 오른쪽으로, 일본어 텍스트는 오른쪽에서 왼쪽으로 자연스러운 방향을 따릅니다.
CSS unicode-bidi - embed 값
embed
값은 이중 방향 알고리즘에 대한 추가적인 임bedding 레벨을 여습니다.
<p style="unicode-bidi: embed; direction: rtl;">
This is English text.これは日本語のテキストです.
</p>
이는 다음과 같이 표시됩니다:
.これは日本語のテキストです This is English text.
전체 문단이 오른쪽에서 왼쪽으로 처리되지만, 영어 텍스트는 왼쪽에서 오른쪽 방향을 유지합니다.
CSS unicode-bidi - bidi-override 값
bidi-override
값은 이중 방향 알고리즘에 대한 오버라이드를 생성합니다. 텍스트의 방향을 direction
속성과 일치시킵니다.
<p style="unicode-bidi: bidi-override; direction: rtl;">
This is English text.これは日本語のテキストです.
</p>
이는 다음과 같이 표시됩니다:
.txet hsilgnE si sihT .stetsetuqoJ no noitpecxe
이 경우, 모든 텍스트는 오른쪽에서 왼쪽으로 처리되며, 영어 텍스트의 글자 순서도 뒤집어집니다.
CSS unicode-bidi - isolate 값
isolate
값은 엘리먼트를 형제 요소들로부터 이중 방향 포맷팅 측면에서 분리합니다.
<p>This is <span style="unicode-bidi: isolate; direction: rtl;">これは日本語のテキストです</span> some English text.</p>
이는 다음과 같이 표시됩니다:
This is これは日本語のテキストです some English text.
일본어 텍스트는 분리되어 오른쪽에서 왼쪽으로 표시되며, 주변 영어 텍스트는 영향을 받지 않습니다.
CSS unicode-bidi - isolate-override 값
isolate-override
값은 isolate
와 bidi-override
의 효과를 결합합니다.
<p>This is <span style="unicode-bidi: isolate-override; direction: rtl;">English text</span> in a sentence.</p>
이는 다음과 같이 표시됩니다:
This is txet hsilgnE in a sentence.
span 안의 텍스트는 분리되어 완전히 뒤집어집니다.
CSS unicode-bidi - plaintext 값
plaintext
값은 엘리먼트를 분리하고 이중 방향 포맷팅을 재설정합니다.
<p style="direction: rtl;">
This is <span style="unicode-bidi: plaintext;">some English text</span> بعض النص العربي
</p>
이는 다음과 같이 표시됩니다:
بعض النص العربي some English text This is
span 안의 영어 텍스트는 자연스러운 왼쪽에서 오른쪽 방향으로 표시되며, 부모의 오른쪽에서 왼쪽 방향에 영향을 받지 않습니다.
CSS unicode-bidi - 관련 속성
unicode-bidi
를 사용할 때, 자주 사용하는 관련 속성들이 있습니다:
속성 | 설명 |
---|---|
direction | 텍스트 방향을 설정 |
writing-mode | 텍스트 줄이 수평으로还是垂直으로 배치되는지 정의 |
unicode-bidi
속성은 direction
속성과 함께 이중 방향 텍스트의 흐름을 제어하는 데 사용됩니다.
결론
축하합니다! 당신은 unicode-bidi
의 세계로 깊이 빠져들었습니다. 이 속성은 처음에는 복잡해 보일 수 있지만, 다 언어 웹사이트에서 매우 유용한 도구입니다. 오늘 배운 내용을 기억하고, 다양한 값을 실험해 보세요.
웹 개발의 여정을 계속하면서, 이중 방향 텍스트를 이해하는 것이 중요한 상황을 많이 만나게 될 것입니다. 글로벌 청중을 위한 웹사이트를 만들거나 로컬라이제이션 프로젝트를 진행할 때, 오늘 배운 기술이 큰 도움이 될 것입니다.
계속 코딩하고, 배우고, 가장 중요한 것은 즐거운 시간을 보내세요! 웹 개발의 세계는 흥미로운 도전 과제가 가득하며, unicode-bidi
와 같은 속성을 마스터하는 것은 여정의 시작에 불과합니다. 행복하게 코딩하세요!
Credits: Image by storyset