2011-12-19 6 views
8

부모의 너비로 확장되지 않는 텍스트의 배경색을 어떻게 설정합니까? div? h1{background color:white;}을 사용하고 원하는 텍스트 주위에 h1을 감 쌉니다. 그러나 흰색 배경은 텍스트를 넘어서 확장됩니다. 거의 단어를 강조하는 것과 같습니다.CSS 배경색이 텍스트까지 확장됩니까?

+0

이유는 배경 색상 텍스트의 색상을 변경하지 : 투명을? 네가 여기서 뭘하려고하는지 정확히 모르겠다. –

+0

h1 요소 대신 div에 배경색을 추가 했습니까? – Rondel

답변

15

h1은 사용 가능한 모든 영역을 사용합니다. 전용 사용에 대한 매우 폭, 인라인이 요소를 변경

h1 { 
    display: inline; 
    background-color: white; 
} 

http://jsfiddle.net/wxNQR/

+1

이로써 해결되었습니다. 슬프게도 이걸 확인할 수있을 때까지 5 분이 있습니다 ... – Matt

+1

슬프게도? xD ...... – eveevans

3

문제는 h1이 블록 수준 요소이며 기본적으로 블록 수준 요소가 확장되어 부모 요소의 사용 가능한 모든 너비를 채 웁니다.

h1 { 
    background-color: white; 
    float: left; 
} 

는 제목 요소의 둘레에 유입되지 않도록 그런 다음, 다음 단락의 스타일을해야합니다 :

이 문제를 해결하는 가장 쉬운 방법은 float에 요소

p { 
    clear: left; 
} 

IE7 이하를 지원하지 않는 경우 편리하면 가까운 형제 선택 도구를 사용하여이 선택을 더 깔끔하게 만들 수 있으므로 h1 요소 바로 뒤에 p 개 요소 만 스타일이 지정됩니다.

h1 + p { 
    clear: left; 
} 
+1

솔직히, 나는 수레가 주요한 PITA라고 생각하고, 수레가 가장 쉬운 해결책을 제시하지 않는다. 왜 그냥 ''에 텍스트를 래핑하지 않는 것이 좋을까요? –

+0

@MДΓΓLLLLLL OK, "가장 좋은 의미 론적 해결책". 스타일링을 위해서만 '스팬 (span)'을 도입하는 것은 지저분합니다. IMO. – lonesomeday

+1

@ MДΓΓLLLLLL 왜냐하면 H1은 의미상으로 올바른 요소 일 수 있기 때문입니다. IMO 디스플레이 : 인라인 블록은 이것을 해결하는 가장 좋은 방법이 될 것입니다 - IE7에서만 지원되는 경우 .. – ptriek

관련 문제