2011-12-05 2 views
1

블록 요소 안에 텍스트를 배치하는 가장 좋은 방법을 알고 싶습니다. 배경블록 요소로 표시된 링크의 텍스트 위치

display: block; 
width: 100px; 
height: 100px; 
background: #000000; 

텍스트와

<a href="#">foo</a> 

정상 링크 만 표시 블록으로 스타일은 이제 왼쪽 상단입니다. 이제 질문 :이 텍스트를 예제로 가져 오는 가장 좋은 방법은 무엇입니까? 왼쪽 하단 또는 오른쪽 하단?

나는 A-Tag 안에 새로운 요소가없는 CSS 솔루션을 선호합니다. 의견이 있으십니까?

+0

링크 주위에 다른 래퍼 요소를 설정하는 것이 가능하지 않습니까? 다른 요소를 추가하면이 작업이 충분히 간단 해집니다. – SpaceBeers

답변

0

하단에 앉아서 콘텐츠를 선택할 수 없습니다. 패딩 (padding-top)을 사용함으로써, ist가 맨 아래에 맞춰진 것처럼 수동으로 만들 수 있습니다. 그래서 위의 예에서

display: block; 
width: 100px; 
height: 14px; 
background: #000000; 
padding-top: 86px 
+0

이 가장 적합한 솔루션입니까? 나는 theres가 테이블, 선 높이 및 그런 것들에 대해 수직 정렬을한다는 것을 의미합니다. – ggzone

+0

블록 요소에 수직 정렬이 없습니다 ... 죄송합니다 ... – ptriek

+0

당신은 정말로 테이블을 사용하고 싶지 않습니다 - 그리고 아니요 - 순수한 CSS 요소에는 수직 정렬이 없습니다. – JorgeLuisBorges

1

당신은 또한 디스플레이의 사용을 만들 수있는 시도 : 테이블 셀 - 그러나, = IE7

http://jsfiddle.net/QU9gy/

<에서 작동하지 않습니다
+0

예, OFC :)하지만 IE7이 필요하므로 패딩과 텍스트 정렬을 사용합니다. 하지만 tx;) – ggzone

0

이 시도 할 수 있습니다 너무. 당신이 182px 그래서 총 결코 200 픽셀 될 것입니다 것 라인 높이보다 18px 글꼴을 사용하는 경우

display: block; 
width: 100px; 
height: 100px; 
background: #000000; 
line-height:188px; 
font-size:12px; 
color:#fff; 
text-decoration:none; 

당신이 200 픽셀에서 값보다 감소보다 글꼴 크기를 변경하는 경우

는 :) 의미;

+0

상자의 텍스트가 어떤 이유로 든 두 줄로가는 경우에만 문제가 있습니다. – JorgeLuisBorges

+0

음 ...! 패딩보다 솔루션입니다. 그러나 정확한 값을 얻지 못할 것이며 높이를 맞추기 위해 시행 착오가 필요합니다. 심지어 여러 줄로 문제를 일으킬 수도 있습니다. 만약 ** ptriek **이 당신에게 준 것이라고 생각되는 여러 줄이 최선의 해결책이 아닌 경우. ** ptriek ** 주어진 솔루션을 사용하지 않는 한 앵커 내부에 태그를 추가하기를 원하지 않으므로 여러 줄로 설정하는 것이 매우 어렵습니다. –

+0

선 높이와 패딩의 조합은 시행 착오가 없음을 의미합니다. line-heght : 20px paddong-top : 한 줄의 텍스트는 180px = 200px 두 개의 텍스트는 220px – JorgeLuisBorges