2011-02-13 3 views
4

:before 유사 요소를 사용하여 내 사이트의 다운로드 링크에 작은 이미지를 추가하고 있습니다. 이미지의 높이가 줄의 높이보다 크고 이미지의 아래쪽이 텍스트의 맨 아래에 정렬됩니다.CSS (가상 이미지 요소)의 수직 위치 지정

의사 요소의 수직 정렬을 어떻게 바꿀 수 있습니까? 이상적으로 이미지의 중심이 텍스트의 중심과 정렬됩니까?

+0

: before 요소에 패딩을 추가 했습니까? – rcravens

답변

0

이미지 만들기 inline elment, 행의 높이를 설정하고 세로 정렬을 컨테이너에 설정하십시오.

+0

이미지를 a : before 요소 대신 링크에 반복없는 배경으로 사용하여이 문제를 (최소한 시각적으로) 해결했습니다. 나는'display : block'을 사용하고 링크의 높이를 이미지의 높이로 설정 한 다음'padding-left'와'padding-top'을 사용하여 이미지 배경과 관련하여 링크를 올바르게 배치해야했습니다. – Eddie

+0

의사 요소에 선 높이를 지정하려고했지만 요소가 표시되지 않습니다. 의사 요소가 표시되도록 설정되었을 때 의사 요소가 올바르게 표시되어야하는 다른 속성이 있습니까? 인라인입니까? – Mindthetic

0

우아한 해결책을 찾을 수 없습니다.

http://jsfiddle.net/rcravens/pAcDE/

다음과 같은 요소를 감안할 때 :

<div id='elem'>Bob Cravens</div> 

나는이 CSS가 :

#elem:before{ 
    content: ''; 
    height: 160px; 
    width: 136px; 
    background: url('http://bobcravens.com/Content/images/author_thumb.png'); 
    position: absolute; 
    top: 0px; 
    left: 0px; 
} 
#elem{ 
    background-color: red; 
    margin: 60px 136px; 
} 

: 여기 jsFiddle가 작동 솔루션을하기 전에 당신이 무엇을 아마 'position : absolute'스타일을 제외하고는. 그런 다음 원본 div를 상쇄하기 위해 여백을 사용했습니다.

희망이 도움이됩니다.

2

나는이 텍스트와 이미지로 한, 대부분의 경우에 작동 찾을 방법을 알아 규모입니다

#elem:before 
{ 
    content: url(image.png); 
    position: relative; 
    bottom: -.5ex; 
    margin-right: .5em; 
} 

margin-right이 사이에 공간을 조금 넣는다 이미지와 텍스트.