왜 vertical-align : text-top; CSS에서 작동하지 않음


78

일부 텍스트를 div 상단에 정렬하고 싶습니다. vertical-align: text-top;트릭 을 해야하는 것 같지만 작동하지 않습니다. div를 열에 넣고 파선 테두리를 표시하는 등 내가 한 다른 작업 (div 상단이 어디에 있는지 볼 수 있음)은 모두 잘 작동합니다.

#header_p { 
    font-family: Arial;
    font-size: 32px;
    font-weight: bold;
}
#header_selecttxt {
    font-family: Arial;
    font-size: 12px;
    font-weight: bold;
    vertical-align: text-top;
}
#header_div_left { 
    float: left; 
    width: 50%;
    border: dashed;
    vertical-align: top;
}
#header_div_right { 
    margin-left: 50%;
    width: 50%;
    border: dashed;
}

답변:


116

vertical-align 속성은 인라인 요소 전용입니다. div와 같은 블록 수준 요소에는 영향을주지 않습니다. 또한 text-top은 텍스트를 현재 글꼴 크기의 맨 위로 만 이동합니다. 인라인 요소를 상단에 수직으로 정렬하려면 이것을 사용하십시오.

vertical-align: top;

단락 태그가 오래되지 않았습니다. 또한 span 요소에 적용된 vertical-align 속성이 일부 Mozilla 브라우저에서 의도 한대로 표시되지 않을 수 있습니다.


2
나를 위해 일하지 않았다. 텍스트는 항상 :(-수직 중앙 정렬됩니다
AlikElzin-kilaka

22

vertical-align로 렌더링되는 요소에서만 작동하도록되어 inline있습니다. <span>기본적으로 인라인으로 렌더링되지만 모든 요소가 그런 것은 아닙니다. 단락 블록 요소 <p>는 기본적으로 블록으로 렌더링됩니다. 테이블 렌더링 유형 (예 table-cell:)을 사용하면 세로 정렬도 사용할 수 있습니다.

일부 브라우저 vertical-align에서는 단락 블록과 같은 항목에 CSS 속성 을 사용할 수 있지만 허용 되지는 않습니다. 단락으로 표시된 텍스트는 서면 언어 콘텐츠로 채워야합니다. 그렇지 않으면 마크 업이 잘못되어 대신 여러 다른 옵션 중 하나를 사용해야합니다.

이게 도움이 되길 바란다!


12

뭔가

  position:relative;
  top:-5px;

인라인 요소 자체에서만 작동합니다. 수직으로 중앙에 맞추려면 상단을 가지고 놀아야합니다 ...


4

position: relative;div에 적용한 다음 position: absolute; top: 0;텍스트가 포함 된 단락 또는 범위에 적용 할 수 있습니다 .


1

상황 별 선택기를 사용하고 수직 정렬을 거기로 이동할 수 있습니다. 그러면 이것은 p 태그와 함께 작동합니다. 아래의 스 니펫을 예로 들어 보겠습니다. 클래스 내의 모든 p 태그는 세로 정렬 컨트롤을 따릅니다.

#header_selecttxt {
    font-family: Arial;
    font-size: 12px;
    font-weight: bold;
}

#header_selecttxt p {
    vertical-align: text-top;
}

다른 인라인 요소가 이것을 사용할 수 있도록 두 섹션에서 세로 정렬을 유지할 수도 있습니다.


1

위의 모든 것이 나를 위해 작동하지 않으며 방금 이것과 그 작업을 확인했습니다.

수직 정렬 : 슈퍼;

 <div id="lbk_mng_rdooption" style="float: left;">
     <span class="bold" style="vertical-align: super;">View:</span>
 </div>

패딩 또는 여백으로 작동한다는 것을 알고 있지만 이것이 내가 선호하는 마지막 선택입니다.


이유를 알고 있지만하지 마십시오 <span>보다 더 잘 할 <p><h6>
유 양 지앤

0
position:absolute;
top:0px; 
margin:5px;

내 문제를 해결했습니다.


-1

margin-top : -50 %를 사용하여 텍스트를 div의 맨 위로 이동할 수 있습니다.

margin-top: -50%;

-3

내가 제공 한 정보로 내가 가진 문제를 해결할 수 없습니다.

  • 나는 구식 <p>태그로 묶인 텍스트를 가지고 있었다 .

나는 변경 <p><span>하고 그것을 잘 작동합니다.


14
<p>는 확실히 오래된 학교가 아닙니다. 천국은 웹 사이트가 <div>와 <span>으로 만 구성되는 것을 금지합니다.
Ryan Florence

나는 웹 경험이 제한적이지만 원시 <div>를 시도하고 정보를 표시하기 위해 표만 사용할 때마다 예를 들어 'wrapper'<div> 안에 모든 것을 유지하는 것이 매우 어렵습니다. 테이블에서는 드물지만 셀에 무언가가 있으면 일반적으로 튀어 나오지 않습니다!
Coops

1
중요한 차이점은 블록 태그 <p>와 인라인 태그의 사용 때문 <span>입니다.
Lawrence Dol

1
디스플레이를 인라인 블록으로 설정하면 수직 정렬 만 귀하의 경우에 작동합니다.
SƲmmēr Aƥ 2011
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.