2013-08-02 3 views
1

이미지를 수평으로 정렬하려고합니다. 그러나 그것은 페이지의 왼쪽에서 움직이지 않습니다. 필자의 경우 This answer이 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?이미지 중앙에

#container {     
     width: 100%;   
     border: 2px yellow dashed; 
     height: 100px; 
} 

#profile-image img{ 
    margin-left: auto; 
    margin-right: auto; 
    border: 2px orange solid; 
} 

마이 페이지 :

<div id="container"> 
      <div id="profile-image"> 
       <p><img src="<?php echo $data['profile_image_url'];?>" alt="me"></p> 
      </div> 

답변

2

수평 중앙에있는 사업부 또는 아무것도를 만들기 위해, 일반적인 CSS 방식은 될 것 폭을 가지고 margin:0 auto;을 선언 할 수 있습니다

#profile-image{ 
    width:400px; 
    margin:0 auto; 
} 
+0

+1 감사합니다. 그것은 효과가 있었다. – Anthony

+1

비록이 방법의 문제점은 명시 적으로 컨테이너에 너비를 할당해야한다는 것입니다. – reikyoushin

2

이 시도 : http://jsfiddle.net/rua4d/2/

#container {     
    width: 300px;   
    border: 2px yellow dashed; 
    height: 100px; 
    display:table-cell; 
    position:relative; 
    vertical-align:middle; 
} 


#profile-image img{ 
    margin-left: auto; 
    margin-right: auto; 
    border: 2px orange solid; 
    display:block; 
    position:relative; 
    vertical-align:middle; 
    text-align:center; 
    width:50px; 
} 
+0

왜'수직 정렬 : 중간; '블록 요소에? – VoidKing

+0

+1 감사합니다. 매우 유용한 답변입니다. – Anthony

1

display:block
을 이미지 스타일에 추가하기 만하면됩니다. 이미지는 인라인 요소이며 인라인 요소는 여백을 무시합니다.

1

왜이 기능이 작동하지 않습니까?

#profile-image p { text-align: center; } 
#profile-image img { display: inline; } 

대신 inline-block을 필요 당신이 text-align: center와 함께 작동하도록 여백을하려면 .. 폭을 지정할 필요가 없습니다 그 방법 :

#profile-image p { text-align: center; } 
#profile-image img { display: inline-block; } 
+0

+1 예! 이것은 훌륭합니다! @ RitabrataGautam의 예제가 내 이미지에 적용되었지만 (이 이미지의 크기는 48px x 48px로 변경되지 않습니다.) 이미지 아래의 텍스트가 길어지고 솔루션이 완벽하게 작동합니다! 정말 감사합니다! – Anthony

+1

문제 없습니다. 요소는 기본적으로 인라인입니다. 그래서 여러분은'text-align : center'를 할 수 있습니다. 너비 등이 필요하다고 결론을 내 렸습니다. 그리고 그것을 작동하게 만들려면'block'으로 만들었지 만, -align property .. 그래서 이미지에 정말로 필요한 것은'display : inline-block'입니다. – reikyoushin

+1

과 나는 컨테이너가 예를 들어 가장 바깥 쪽 래퍼 요소와 같은 ..로 사용자 정의를 가질 것이라고 확신 할 때'margin : 0 auto;'만을 사용한다. – reikyoushin

관련 문제