웹 프론트엔드 CSS 튜토리얼 높이를 알 수 없는 이미지를 수직 중앙에 배치하는 방법

높이를 알 수 없는 이미지를 수직 중앙에 배치하는 방법

Jun 26, 2018 pm 02:33 PM
그림 수직으로 중앙에 위치

이 글에서는 높이를 알 수 없는 사진의 세로 중심 설정 방법을 주로 소개합니다. 연습할 때 IE 브라우저의 표시 상황에 특히 주의하세요. 필요한 친구는 이를 참고할 수 있습니다.

표준 브라우저는 여전히 외부 컨테이너 #box를 사용합니다. 디스플레이 모드는 display:table-cell로 설정되어 있습니다. IE6/IE7은 img 태그 앞에 빈 태그 쌍을 삽입하는 방식을 사용합니다
201585174249665.jpg (500×400)

. 그러나 브라우저에서 구현되는 실제 효과는 완벽하지 않습니다. 다른 브라우저에 구문 분석이 다르기 때문에 각 브라우저에는 1px-3px 편차가 있습니다.
방법 1:

이 방법은 외부 컨테이너의 표시 모드를 display:table로 설정하고, img 태그 외부에 SPAN 태그를 중첩하고, SPAN의 표시 모드를 display:table-cell로 설정하는 것입니다. 물론 이것은 표준 브라우저에서만 가능하며 IE6/IE7도 위치 지정을 사용해야 합니다.
HTML code

<p id="box">
<span><img src="images/demo.jpg" alt="" /></span>
</p>
로그인 후 복사

CSS code

<style type="text/css">   
#box{   
    width:500px;height:400px;   
    display:table;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box span{   
    display:table-cell;   
    vertical-align:middle;   
}   
#box img{   
    border:1px solid #ccc;   
}   
</style>   
<!--[if lte IE 7]>   
<style type="text/css">   
#box{   
    position:relative;   
    overflow:hidden;   
}   
#box span{   
    position:absolute;   
    left:50%;top:50%;   
}   
#box img{   
    position:relative;   
    left:-50%;top:-50%;   
}   
</style>   
<![endif]-->
로그인 후 복사

방법 2:

방법 2와 방법 1의 구현 원리는 비슷하고 구조도 동일합니다. 방법 1은 조건부 주석을 사용하고, 방법 2는 CSS를 사용합니다. .해킹.
CSS 코드

#box{   
    width:500px;height:400px;   
    overflow:hidden;   
    position:relative;   
    display:table-cell;   
    text-align:center;   
    vertical-align:middle;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box span{   
    position:static;   
    *position:absolute; /*针对IE6/7的Hack*/
    top:50%; /*针对IE6/7的Hack*/
}   
#box img {   
    position:static;   
    *position:relative; /*针对IE6/7的Hack*/
    top:-50%;left:-50%; /*针对IE6/7的Hack*/
    border:1px solid #ccc;   
}
로그인 후 복사

이 방법에는 단점이 있습니다. 표준 브라우저에서는 외부 컨테이너 #box의 표시 모드가 display:table-cell이므로 #box는 여백 속성을 사용할 수 없으며 IE8에서는 테두리 설정이 유효하지 않습니다.
방법 3:

표준 브라우저는 여전히 외부 컨테이너 #box의 표시 모드를 display:table-cell로 설정합니다. IE6/IE7은 img 태그 앞에 빈 태그 쌍을 삽입하는 방법을 사용합니다.

HTML 코드

<p id="box">
    <i></i><img src="images/demo.jpg" alt="" />
</p>
로그인 후 복사

CSS 코드

<style type="text/css">   
#box{   
width:500px;height:400px;   
display:table-cell;   
text-align:center;   
vertical-align:middle;   
border:1px solid #d3d3d3;background:#fff;   
}   
#box img{   
border:1px solid #ccc;   
}   
</style>   
<!--[if IE]>   
<style type="text/css">   
#box i {   
    display:inline-block;   
    height:100%;   
    vertical-align:middle
    }   
#box img {   
    vertical-align:middle
    }   
</style>   
<![endif]-->
로그인 후 복사

방법 4:

img 태그 외부에 p 태그를 래핑합니다. 표준 브라우저는 이를 달성하기 전에 p 태그의 의사 클래스 속성을 사용합니다. 호환성을 달성하기 위한 CSS 표현식입니다.
HTML code

<p id="box">
    <p><img src="images/demo.jpg" alt="" /></p>
</p>
로그인 후 복사

CSS code

#box{   
    width:500px;height:400px;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
}   
#box p{   
    width:500px;height:400px;   
    line-height:400px; /* 行高等于高度 */
}   
/* 兼容标准浏览器 */
#box p:before{   
    content:"."; /* <a href="http://casinogreece.gr/">????????????</a> 具体的值与垂直居中无关,尽可能的节省字符 */
    margin-left:-5px; font-size:10px; /* 修复居中的小BUG */
    visibility:hidden; /*设置成隐藏元素*/
}   
#box p img{   
    *margin-top:expression((400 - this.height )/2); /* CSS表达式用来兼容IE6/IE7 */
    vertical-align:middle;   
    border:1px solid #ccc;   
}
로그인 후 복사

용도: beforr 이 방법은 표준 브라우저에 더 강력하고 부작용이 없지만 IE6/IE7의 경우 성능 요구 사항이 더 높을 경우 CSS 표현 방법을 주의해서 사용하세요.
방법 5:

이 방법은 IE6/IE7용입니다. 표준 브라우저는 호환성을 위해 여전히 위 방법을 사용하며 이미지의 외부 컨테이너 글꼴 크기를 높이의 0.873배로 설정합니다. 구조도 상대적으로 유사합니다.
HTML code

<p id="box">
    <img src="images/demo.jpg" alt="" />
</p>
로그인 후 복사

CSS code

#box{   
    width:500px;height:400px;   
    text-align:center;   
    border:1px solid #d3d3d3;background:#fff;   
    /* 兼容标准浏览器 */
    display: table-cell;   
 vertical-align:middle;   
    /* 兼容IE6/IE7 */
    *display:block;   
    *font-size:349px; /* 字体大小约为容器高度的0.873倍 400*0.873 = 349 */
    *font-family:Arial; /* 防止非utf-8引起的hack失效问题,如gbk编码 */
}   
#box img{   
    vertical-align:middle;   
}
로그인 후 복사

글꼴 크기를 설정하는 방법도 이상하고, 합리적인 설명도 본 적이 없습니다. 그림 요소에는 다른 요소와 다른 특징이 있다는 것만 알고 있는데, IE6/IE7의 경우 이 방법은 매우 강력합니다.
생각하기: 많은 방법이 외부 컨테이너의 표시 모드를 테이블로 설정하여 수직 중앙 정렬을 달성하는 데 의존합니다. 즉, 테이블을 시뮬레이션하기 위해 CSS에 이 효과를 얻을 수 있는 속성이 있으면 좋을 것입니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

중앙 위치를 조정하기 위해 CSS에서 음수 여백 값을 사용하는 방법

DIV를 중앙에 배치하기 위해 position:fixed 속성을 사용하는 방법

위 내용은 높이를 알 수 없는 이미지를 수직 중앙에 배치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu에 게시할 때 사진이 자동으로 저장되는 문제를 해결하는 방법은 무엇입니까? 포스팅 시 자동으로 저장되는 이미지는 어디에 있나요? Xiaohongshu에 게시할 때 사진이 자동으로 저장되는 문제를 해결하는 방법은 무엇입니까? 포스팅 시 자동으로 저장되는 이미지는 어디에 있나요? Mar 22, 2024 am 08:06 AM

소셜 미디어의 지속적인 발전으로 Xiaohongshu는 점점 더 많은 젊은이들이 자신의 삶을 공유하고 아름다운 것을 발견할 수 있는 플랫폼이 되었습니다. 많은 사용자들이 이미지 게시 시 자동 저장 문제로 고민하고 있습니다. 그렇다면 이 문제를 해결하는 방법은 무엇입니까? 1. Xiaohongshu에 게시할 때 사진이 자동으로 저장되는 문제를 해결하는 방법은 무엇입니까? 1. 캐시 지우기 먼저 Xiaohongshu의 캐시 데이터를 지워볼 수 있습니다. 단계는 다음과 같습니다. (1) Xiaohongshu를 열고 오른쪽 하단에 있는 "내" 버튼을 클릭합니다. (2) 개인 센터 페이지에서 "설정"을 찾아 클릭합니다. 캐시 지우기' 옵션을 선택하고 확인을 클릭하세요. 캐시를 삭제한 후 샤오홍슈에 다시 진입하여 사진을 올려 자동 저장 문제가 해결되었는지 확인해 보세요. 2. Xiaohongshu 버전을 업데이트하여 Xiaohongshu를 확인하세요.

HTML 웹 페이지에서 이미지를 중앙에 배치하는 방법 HTML 웹 페이지에서 이미지를 중앙에 배치하는 방법 Apr 05, 2024 pm 12:18 PM

HTML에는 이미지를 중앙 정렬하는 두 가지 방법이 있습니다. CSS: margin: 0 auto;를 사용하여 이미지를 수평으로 중앙에 배치하고, display: block을 사용하여 전체 너비를 차지하게 합니다. 이미지를 가로 중앙에 배치하려면 HTML: <center> 요소를 사용하세요. 하지만 유연성이 떨어지고 최신 웹 표준을 준수하지 않습니다.

TikTok 댓글에 사진을 게시하는 방법은 무엇입니까? 댓글란에 있는 사진의 입구는 어디인가요? TikTok 댓글에 사진을 게시하는 방법은 무엇입니까? 댓글란에 있는 사진의 입구는 어디인가요? Mar 21, 2024 pm 09:12 PM

Douyin 짧은 동영상의 인기로 인해 댓글 영역의 사용자 상호 작용이 더욱 다채로워졌습니다. 일부 사용자는 자신의 의견이나 감정을 더 잘 표현하기 위해 댓글로 이미지를 공유하기를 원합니다. 그렇다면 TikTok 댓글에 사진을 게시하는 방법은 무엇입니까? 이 기사에서는 이 질문에 대해 자세히 답변하고 몇 가지 관련 팁과 예방 조치를 제공합니다. 1. Douyin 댓글에 사진을 어떻게 게시하나요? 1. Douyin 열기: 먼저 Douyin 앱을 열고 계정에 로그인해야 합니다. 2. 댓글 영역 찾기: 짧은 동영상을 탐색하거나 게시할 때 댓글을 달고 싶은 위치를 찾아 "댓글" 버튼을 클릭하세요. 3. 댓글 내용 입력: 댓글 영역에 댓글 내용을 입력합니다. 4. 사진 전송 선택: 댓글 내용 입력 인터페이스에 "사진" 버튼 또는 "+" 버튼이 표시됩니다.

드림위버에서 텍스트 위치를 조정하는 방법 드림위버에서 텍스트 위치를 조정하는 방법 Apr 09, 2024 am 02:24 AM

Dreamweaver에서 텍스트 위치 조정은 다음 단계에 따라 완료할 수 있습니다. 텍스트를 선택하고 텍스트 위치 조정기를 사용하여 가로 조정을 수행합니다. 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬 2. 세로 조정 수행: 위쪽 정렬, 아래쪽 정렬, 세로; 3. Shift 키를 누르고 화살표 키를 사용하여 위치를 미세 조정합니다. 4. 바로 가기 키를 사용하여 빠르게 정렬합니다. 왼쪽 정렬(Ctrl/Cmd + L), 오른쪽 정렬(Ctrl/Cmd + R), 가운데 정렬 (Ctrl/Cmd + C).

PPT 사진을 하나씩 나타나게 하는 방법 PPT 사진을 하나씩 나타나게 하는 방법 Mar 25, 2024 pm 04:00 PM

파워포인트에서는 그림을 하나씩 표시하는 것이 일반적인 기술인데, 이는 애니메이션 효과를 설정하면 가능하다. 이 가이드에서는 기본 설정, 이미지 삽입, 애니메이션 추가, 애니메이션 순서 및 타이밍 조정 등 이 기술을 구현하는 단계를 자세히 설명합니다. 또한 트리거 사용, 애니메이션 속도 및 순서 조정, 애니메이션 효과 미리보기 등의 고급 설정 및 조정이 제공됩니다. 이러한 단계와 팁을 따르면 사용자는 PowerPoint에서 그림이 차례로 표시되도록 쉽게 설정할 수 있으므로 프레젠테이션의 시각적 효과가 향상되고 청중의 관심을 끌 수 있습니다.

HTML에서 텍스트 상자를 중앙에 맞추는 방법 HTML에서 텍스트 상자를 중앙에 맞추는 방법 Apr 22, 2024 am 10:33 AM

HTML 텍스트 상자를 중앙에 배치하는 방법은 여러 가지가 있습니다. 텍스트 입력 상자: CSS 코드 사용 input[type="text"] { text-align: center } 텍스트 영역: CSS 코드 사용 textarea { text-align: center; } 수평 센터링: 텍스트 상자 상위 요소에 text-align: center 스타일을 사용하여 수직으로 센터링합니다. Vertical-align 속성을 사용합니다. input[type="text"] { Vertical-align: middle;

CSS에서 ul 콘텐츠를 중앙에 배치하는 방법 CSS에서 ul 콘텐츠를 중앙에 배치하는 방법 Apr 26, 2024 pm 12:24 PM

CSS의 중앙 UL 콘텐츠: text-align 속성 사용: 목록 항목의 콘텐츠를 포함하여 텍스트 정렬을 설정합니다. margin 속성을 사용하세요: 요소의 왼쪽과 오른쪽 여백을 설정하고, margin:auto 를 사용해 수평 중심을 맞추세요. 표시 속성을 사용하십시오. 요소를 inline-block으로 설정한 다음 text-align: center를 사용하여 수직으로 가운데에 배치하십시오. 가변상자 속성을 사용하세요: justify-content: center 및 align-items: center를 통해 가로 및 세로 가운데 맞춤.

HTML에서 프레임을 중앙에 맞추는 방법 HTML에서 프레임을 중앙에 맞추는 방법 Apr 22, 2024 am 10:45 AM

HTML 프레임을 중앙에 배치하는 방법에는 4가지가 있습니다: margin: 0 auto;: 프레임을 수평으로 중앙에 배치합니다. text-align: center;: 프레임 내용을 가로 중앙에 배치합니다. display: flex; align-items: center;: 프레임을 수직으로 중앙에 배치합니다. position: 절대; 위쪽: 50%; 왼쪽: 50%; 변환: 변환(-50%, -50%);: CSS 변환을 사용하여 고정 크기 프레임 컨테이너의 중앙에 프레임을 배치합니다.

See all articles