이제 HTML5와 CSS3가 우리 디자인을 한 단계 더 끌어올릴 수 있을지 지켜보겠습니다.
웹 디자이너는 HTML4와 CSS2를 사용하여 멋진 것을 완성했습니다. 기존의 테이블 기반 레이아웃을 사용하지 않고도 문서의 논리적 구조를 완성하고 콘텐츠가 풍부한 웹사이트를 만들 수 있습니다. 인라인 태그를 사용하지 않고도 웹사이트에 아름답고 미묘한 스타일을 추가할 수 있습니다. 사실, 우리의 현재 디자인 능력은 브라우저 전쟁, 독점 프로토콜, 깜박임, 스크롤 및 플래시로 가득 찬 추악한 웹 페이지의 끔찍한 시대에서 우리를 멀리 데려갔습니다.
현재 HTML4와 CSS2.1을 일반적으로 사용하고 있지만 더 잘할 수 있습니다! 코드를 재구성하고 페이지 코드를 더 의미있게 만들 수 있습니다. 페이지를 아름답게 보이게 하는 스타일링 코드의 양을 줄이고 확장성을 높일 수 있습니다. 이제 HTML5와 CSS3가 우리 디자인을 다음 단계로 끌어올릴 수 있을지 모두가 기대하고 있습니다...
과거에는 디자이너들이 의미론적 레이아웃이 없는 테이블을 기반으로 하는 소프트웨어를 자주 사용했습니다. . 그러나 결국 Jeffrey Zeldman 및 Eric Meyer와 같은 혁신가 덕분에 현명한 디자이너들은 테이블 레이아웃 대신 상대적으로 더 의미 있는
레이아웃을 천천히 받아들이고 외부 스타일 시트를 부르기 시작했습니다. 그러나 불행하게도 복잡한 웹 디자인에는 다양한 태그 구조 코드가 필요합니다. 이를 "p-soup" 증후군이라고 부릅니다. 아마도 다음 코드에 익숙할 것입니다.
코드는 다음과 같습니다.
<p class="section"> <p class="article"> <p class="header"> <h1>p Soup Demonstration</h1> <p>Posted on July 11th, 2009</p> </p> <p class="content"> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> </p> <p class="footer"> <p>Tags: HMTL, code, demo</p> </p> </p> <p class="aside"> <p class="header"> <h1>Tangential Information</h1> </p> <p class="content"> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> </p> <p class="footer"> <p>Tags: HMTL, code, demo</p> </p> </p> </p> </p>
좀 꺼려지긴 하지만 위의 예는 여전히 가능합니다. 복잡한 디자인에 HTML4를 사용하는 방법은 코딩 후에도 여전히 너무 부풀어 오른다는 것을 보여줍니다(사실 xHTML1.1은 그 이상은 아닙니다). 그러나 흥미로운 점은 HTML5가 "p-soup" 증후군을 해결하고 새로운 구조적 요소 세트를 제공한다는 것입니다. 이러한 새로운 HTML5 요소는 의미 없는
태그를 대체하는 보다 자세한 의미를 가지며 동시에 CSS 호출에 대한 "자연스러운" CSS 후크를 제공합니다.
다음은 HTML5 솔루션의 예입니다.
코드는 다음과 같습니다.
<section> <article> <header> <h1>p Soup Demonstration</h1> <p>Posted on July 11th, 2009</p> </header> <section> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> </section> <footer> <p>Tags: HMTL, code, demo</p> </footer> </article> <aside> <header> <h1>Tangential Information</h1> </header> <section> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> <p>Lorem ipsum text blah blah blah.</p> </section> <footer> <p>Tags: HMTL, code, demo</p> </footer> </aside> </section> </section>
보시다시피 HTML5를 사용하면 다양한 기능을 사용할 수 있습니다. 더 많은 의미 구조 코드 태그를 사용하여 다수의 의미 없는
태그를 대체합니다. 이 의미론적 기능은 웹 페이지의 품질과 의미론을 향상시킬 뿐만 아니라 코드에서 CSS에 대해 호출해야 하는 클래스 및 ID 속성을 크게 줄입니다. 실제로 CSS3에서는 모든 클래스와 ID를 무시할 수도 있습니다.
클래스 속성에 작별을 고하고 깔끔한 태그를 환영합니다
새로운 의미 태그가 풍부한 HTML5와 결합된 CSS3은 웹 디자이너에게 웹 페이지에 대한 마법을 제공합니다. HTML5의 힘으로 우리는 문서 코드에 대한 더 많은 통제력을 갖게 될 것입니다. CSS3의 힘으로 우리의 통제력은 무한해질 것입니다!
고급 CSS 선택기가 없더라도 클래스 및 ID와 같은 속성을 신경쓰지 않고도 강력한 HTML5 절을 통해 다양한 컨테이너를 호출할 수 있습니다. 이전 p 레이아웃과 마찬가지로 CSS에서 다음과 같이 호출해야 할 수도 있습니다. p#news {}
코드는 다음과 같습니다.
p.section {} p.article {} p.header {} p.content {} p.footer {} p.aside {}
다음을 기반으로 예제를 살펴보겠습니다. HTML5: 섹션 {}
코드는 다음과 같습니다.
article {} header {} footer {} aside {}
이것은 진전이 있지만 아직 해결해야 할 몇 가지 문제가 있습니다.
예에서는 class 또는 id 속성을 통해 페이지의 요소를 호출해야 합니다. 이 논리를 사용하면 전체 또는 개별적으로 문서의 모든 요소에 스타일을 적용할 수 있습니다. 예를 들어
예에서는 .section 및 .content 요소를 쉽게 찾을 수 있습니다. 그러나 HTML5 예에서는 실제 문서에 많은 섹션 요소가 있습니다. 실제로 우리는 특정 속성 선택기를 추가하여 다양한 섹션 요소를 호출할 수 있지만 다행히 현재는 다양한 섹션 요소를 대상으로 하는 고급 CSS 선택기가 없습니다.
클래스와 ID를 사용하지 않고 HTML-5 요소 찾기
클래스와 ID를 사용하지 않고 HTML5 페이지 요소의 인스턴스를 찾는 방법을 살펴보겠습니다. 세 가지 A CSS 선택기를 사용할 수 있습니다. 인스턴스 내의 요소를 찾고 식별합니다. 다음과 같습니다:
하위 요소 선택자: [CSS 2.1]: EF
형제 선택자: [CSS 2.1]: E + F
하위 요소 선택자: [CSS 2.1]: E > >
전체 HTML5 코드 세트에서는 요소 아래에