2014-09-29 4 views
0

저는 CSS/HTML을 처음 사용하여 div.position 컨테이너 레이블에서 "제목"텍스트를 가져올 때 왜 쓰는지 이해하기가 어려웠습니다. 도와 주셔서 감사합니다.float 및 익명 상자 레이블로 세로 정렬

My code

CSS 코드 :

div { 
    display: inline-block; 
} 
.position { 
    float: left; 
} 

HTML 코드 :

<div> 
    <label>Label</label> 
    <div class="group"> 
     <div class="position"> 
      <input type="radio" /> 
     </div> 
     Title 
    </div> 
</div> 
+0

'추가 라벨해야처럼 상단에 나타납니다 {플로트 : 왼쪽;}'- http://jsfiddle.net/avxvtqsg/ – Anonymous

+0

답변 해 주셔서 감사합니다. 나는 내가 전에 언급 한 행동의 이유가 무엇인지 더 관심이있다. –

+0

정말 설명하지 않는 이유는 무엇입니까? – Luca

답변

1

vertical-align의 기본값은 기준선입니다.

그런 이유로 상위 div의 기준선에 레이블이 표시됩니다. 제목 텍스트가 위치가 DIV의 높이를 div에 내에있을 때

enter image description here

그러나 작은 (이미지 참조) - 라벨 상단에 남아 것 같습니다 그 이유는. 실제로 그것은 부모 div의 기준선에 있습니다. 당신이 라벨에 vertical-align:top을 설정하면

그것이

FIDDLE

+0

가이드를 제공해 주셔서 감사합니다. 게다가'vertical-align'의 호환성에 대해서 알고 싶습니다. 더 많은 정보를 얻을 수 있습니까? 고마워. –

+0

감사! 그리고 높이가 다른 이유는 (div.position 외부에서 사용할 때) 그룹 div에 "제목"상자에 충분한 공간이 주어지지 않아 텍스트 자체가 첫 번째 줄에 표시 되더라도 새 줄이 추가되기 때문에 발생합니다. 그룹 레이블에 너비를 지정하면 문제를 해결할 수 있습니다. –

0

플로팅이 작동하는 방식에 대한 좋은 기사는 다음과 같습니다. All About Floats.

잠깐 말하면 플로트가 사용자가 설정 한쪽에 떠있게됩니다. float: right은 오른쪽으로 떠 다니고 이미지는 오른쪽으로 플로트되지만 다른 모든 인라인 요소는 플로트를 감싸는 경향이 있습니다. <label> 태그가 그랬습니다. .position에서 float: left을 삭제하거나 라벨에 추가하여 문제를 해결할 수 있습니다.

이 awnser가 다소 더 명확 해지기를 바랍니다.