반응 형 이미지 정렬 센터 부트 스트랩 3


423

Bootstrap 3을 사용하여 카탈로그를 작성합니다. 태블릿에 표시 될 때 제품 이미지는 작은 크기 (500x500)와 브라우저에서 너비 767 픽셀로 인해보기 흉하게 보입니다. 화면 중앙에 이미지를 넣고 싶지만 어떤 이유로 든 할 수 없습니다. 문제 해결에 누가 도움이됩니까?

제품이 헤드 라인 아래 중앙에 있지 않은 제품 페이지의 일부 스크린 샷


5
귀하의 사이트와 제품 디자인이 마음에 :)
듭니다

7
"우리가 코드를 질문 본문에 배치해야하는 이유"의 또 다른 예.
LEQADA

답변:


572

Bootstrap v3.0.1 이상을 사용하는 경우이 솔루션을 대신 사용해야 합니다 . 사용자 정의 CSS로 Bootstrap의 스타일을 재정의하지 않고 대신 Bootstrap 기능을 사용합니다.

내 원래 답변은 후손에 대한 아래에 표시됩니다


이것은 유쾌하게 쉬운 수정입니다. .img-responsiveBootstrap에서 이미 설정 했기 때문에 이미지를 중앙에 배치하는 데 display: block사용할 수 있습니다 margin: 0 auto.

.product .img-responsive {
    margin: 0 auto;
}

35
margin: 0 auto.img-responsive를 변경하는 대신 을 사용하여 새 클래스를 만드는 것이 좋습니다.
knite

4
개인적으로 나는 어디에서나 생각할 수 없지만, 특히이 디자인의 중심이 아닌 반응 형 이미지를 원할 것입니다. 그것은 모두 유스 케이스와 미래에 일어날 일에 달려 있습니다.
Bojangles

당신은 부트 스트랩 V4 이상 사용하는 경우이 답변을 참조하십시오 stackoverflow.com/a/43293957/4102515을
snorberhuis

1156

.center-blockTwitter Bootstrap 3 ( v3.0.1 이후 ) 에는 클래스가 있으므로 다음을 사용하십시오.

<img src="..." alt="..." class="img-responsive center-block" />

27
CSS를 사용하기 위해 추가 할 필요가 없으므로이 답변이 허용됩니다.
user2602152

16
class="img-responsive" style="margin: 0 auto;"나를 위해 작동 class="img-responsive center-block"하지 않습니다 (bootstrap 3,하지만 몇 달 된 버전)
mxro

9
img-responsive를 사용하면 Align center가 작동하지 않습니다.
Ismael

1
@DHlavaty 당신은 .img-responsive AND .center-block을 사용하는 것과 허용 된 답변이 제안하는 것처럼 자동 마진으로 .img-responsive를 사용하는 것의 차이점을 설명 할 수 있습니까? 한 가지 방법이 더 강력합니까?
137717

1
이미지를 클릭 할 수 있어야하는 경우이를 사용하지 않을 수 있습니다. 즉, 한 <a href="#"> </a>쌍으로 감싸면 클릭 가능한 영역이 이미지보다 약간 더 클 수있는 밀폐 컨테이너의 전체 너비로 확장됩니다. 이것은 "빈"공간이라고 생각하는 것을 클릭하는 사용자를 혼란스럽게 할 수 있습니다.
CXJ

108

center-block이미지에 클래스 만 추가하면 Bootstrap 4에서도 작동합니다.

<img src="..." alt="..." class="center-block" />

참고 : center-block경우에도 작동 img-responsive사용


6
최고의 답변이지만 과소 평가되었습니다. 이것이 프레임 워크를 사용하는 이유입니다!
Baumannzone 2016 년

그래서. 환상적인. 감사합니다
AndrewLeonardi

그것의 일. 감사합니다
Dhiren Patel

31

그냥 사용 .text-center하면 부트 스트랩 3 사용하는 경우 클래스를.

<div class="text-center">
    <img src="..." alt="..."/>
</div>

참고 : 이것은 img-responsive와 작동하지 않습니다


1
문제는 다음과 같습니다img-responsive
Alexey Kosov

img-responsive를 위해 구글 검색에서 이것을 볼 수있는 사람들을 위해 img-center (3.3.6에서 테스트)를 추가하십시오
DardanM

10

이미지를 중앙에 배치하고 반응 형으로 만들어야합니다.

<img src="..." class="img-responsive" style="margin:0 auto;"/>

6

나는 더 "추상적 인"분류를 제안 할 것이다. .img 응답 클래스와 함께 사용할 수있는 새 클래스 "img-center"를 추가하십시오.

// Center responsive images
.img-responsive.img-center {
  margin: 0 auto;
}

3
@media (max-width: 767px) {
   img {
     display: table;
     margin: 0 auto;
   }
}

2
display: table? 그것은 이미 일 display: block하기에 충분하다margin: 0 auto
Bojangles

3

여전히 작업 할 수 있습니다 img-responsive이 스타일 클래스를 사용하면 다른 이미지에 영향 주지 않고 .

이 태그 앞에 id / div id / class 섹션을 추가하여 img중첩 순서를 정의 할 수 있습니다. 이 관습img-responsive 는 해당 영역에서만 작동합니다.

다음과 같이 정의 된 HTML 영역이 있다고 가정하십시오.

<section id="work"> 
    <div class="container">
        <div class="row">
            <img class="img-responsive" src="some_image.jpg">
        </div>
    </div>
</section>

그러면 CSS는 다음과 같습니다.

section#work .img-responsive{
    margin: 0 auto;
}

참고 :이 답변은 img-responsive전체 변경의 잠재적 영향 과 관련이 있습니다. 물론 center-block가장 간단한 솔루션입니다.


이 대답은 잘 알려져 있습니다. 행 클래스에서 이미지를 줄 바꿈하는 것은 이미지 아래에 텍스트가있을 때 이미지를 중앙에 배치하는 데 중요합니다.
Glenn Plas

3

이 코드를 시도해보십시오. 중앙 블록 클래스가 부트 스트랩 4가 없으므로 부트 스트랩 4가있는 작은 아이콘에서도 작동합니다.이 방법을 시도하면 도움이됩니다. 당신은 설정하여 이미지의 위치를 변경할 수 있습니다 .col-md-12.col-md-8또는 .col-md-4당신 개까지입니다.

<div class="container">
       <div class="row">
          <div class="col-md-12">
            <div class="text-xs-center text-lg-center">
           <img src="" class="img-thumbnail">
           </div>
          </div>
       </div>
  </div>

3

이 시도:

.img-responsive{
    display: block;
    height: auto;
    max-width: 100%;
	  margin:0 auto;
}
.Image{
  background:#ccc;
  padding:30px;
}
<div class="Image">
  <img src="http://minisoft.com.bd/uploads/ourteam/rafiq.jpg" class="img-responsive" title="Rafique" alt="Rafique">
</div>


3

다음과 같이 모든 이미지 축소판을 행 / col div 안에 넣으십시오.

<div class="row text-center">
 <div class="col-12">
  # your images here...
 </div>
</div>

모든 것이 잘 작동합니다!


2

이미 주어진 답변에 추가하려면를 img-responsive조합하여 img-thumbnail로 설정 display: block하십시오 display: inline block.


2
<div class="col-md-12 text-center">
    <img class="img-responsive tocenter" />
</div>

.

<style>
   .tocenter {
    margin:0 auto;
    display: inline;
    }
</style>

0

margin : 0 auto를 정의하여 수정할 수 있습니다.

또는 col-md-offset을 사용할 수도 있습니다

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<style>
.img-responsive{
margin:0 auto;
}
</style>
<body>

<div class="container">
  <h2>Image</h2>
<div class="row">
<div class="col-md-12">
  <p>The .img-responsive class makes the image scale nicely to the parent element (resize the browser window to see the effect):</p>                  
  <img src="http://www.w3schools.com/bootstrap/cinqueterre.jpg" class="img-responsive" alt="Cinque Terre" width="304" height="236"> 
</div>
</div>
</div>

</body>
</html>


0

표준 클래스를 사용하는 모든 Booostrap 객체에 적용되는보다 정확한 방법은 이미지가 부모에서 상속 할 수 있으므로 위쪽 및 아래쪽 여백을 설정하지 않는 것이므로 항상 사용하고 있습니다.

.text-center .img-responsive {
    margin-left: auto;
    margin-right: auto;
}

또한 Gist를 만들었으므로 버그로 인해 변경 사항이 적용되는 경우 업데이트 버전은 항상 여기에 있습니다 : https://gist.github.com/jdrda/09a38bf152dd6a8aff4151c58679cc66


0

지금까지 가장 좋은 해결책은 다음과 같습니다 <img class="center-block" ... />. 그러나 아무도 어떻게 center-block작동 하는지 언급하지 않았습니다 .

부트 스트랩 v3.3.6을 예로 들어 보겠습니다.

.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

dispalyfor 의 기본값 <img>inline입니다. 값 block은 요소를 블록 요소로 표시합니다 (예 <p>:). 새 줄에서 시작하여 전체 너비를 차지합니다. 이러한 방식으로 두 여백 설정을 통해 이미지가 가로 가운데로 유지됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.