2009-11-11 12 views
11

W3C 검사기는 블록 수준 요소를 인라인 요소 안에 넣을 수 없다고 알려줍니다. 의미가 있습니다 ...블록 수준 인라인 요소 내부 요소

하지만 CSS를 사용하여 블럭 레벨 요소를 인라인 요소로 변경하면 어떻게됩니까?

그리고 인라인 요소를 블록 레벨 요소로 변환하기 위해 CSS를 사용한다면 (다른 인라인 요소 안에있을 때)?

유효성 검사기가이 문제를 분명히 인식하지는 않지만 잘못 되었습니까?

(실제로이 일을 아니에요, 난 그냥 궁금하고있어 모범 사례)

답변

7

는 HTML 사양 블록 요소로 정의 된 요소는 CSS에 display: block;로 정의 된 요소와 동일하지 않습니다 .

내 말은 : 당신이 <p style="display: inline;">Lorem...</p>라고해도. <p>은 여전히 ​​HTML의 관점에서 차단 요소입니다.

HTML, CSS 및 JavaScript를 사용하는 경우 오른쪽으로 loose coupling이 있고 그 중 하나는 다른 것에 의존해서는 안되며 하나가 없으면 나머지 (또는 전체 시스템)가 실패하지 않아야한다고 말합니다.

2

인라인 요소 인 요소에는 블록 요소가 없어야합니다. 블록 요소는 블록 및/또는 인라인 요소를 포함 할 수 있지만 인라인 요소는 다른 인라인 (inline-block, 예 : <img> 포함) 요소 만 포함 할 수 있습니다.

그래도 어쨌든 할 수 있습니다. 왜냐하면 그래픽 표현은 여러 브라우저에서 매우 일관 적이기 때문입니다. 그것은 여전히 ​​내가 권하고 싶습니다, 그리고 정말 그것을 할 이유를 생각할 수 없다.

관련 문제