CSS에서 중심 스타일을 구현하기 위한 여러 기술의 장점과 단점에 대한 자세한 설명
음수 여백
이것은 아마도 현재 가장 인기 있는 사용 방법일 것입니다. 블록 요소의 크기를 알고 있는 경우 다음과 같은 방법으로 컨테이너의 콘텐츠 블록을 중앙에 배치할 수 있습니다.
외부 여백에 음수를 사용하고 크기는 너비/높이의 절반입니다(상자의 패딩 포함). -크기 조정: 테두리 상자가 사용되지 않음), 위쪽: 50% 왼쪽: 50%;. 즉:
.is-Negative { width: 300px; height: 200px; padding: 20px; position: absolute; top: 50%; left: 50%; margin-left: -170px; /* (width + padding)/2 */ margin-top: -120px; /* (height + padding)/2 */ }
테스트 결과 이것이 IE6-IE7에서도 잘 작동하는 유일한 방법인 것으로 나타났습니다.
장점:
1. IE6-IE7과 호환되는 우수한 크로스 브라우저 기능.
2. 코드의 양이 적습니다.
단점:
1. 적응력이 없습니다. 백분율 크기 및 최소/최대 속성 설정은 지원되지 않습니다.
2. 내용물이 용기 밖으로 넘칠 수 있습니다.
3. 여백 크기는 패딩 및 box-sizing: border-box 정의 여부와 관련이 있으며 다양한 상황에 따라 계산해야 합니다.
Transforms
이것은 절대 센터링과 동일한 효과를 얻을 수 있는 가장 간단한 방법이며 관절 가변 높이 방법의 사용도 지원합니다. 콘텐츠 블록 정의 변환: 번역(-50%,-50%)에는 브라우저 제조업체의 접두사와
top: 50%; left: 50%;
코드 유형:
.is-Transformed { width: 50%; margin: auto; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
장점:˚1이 있어야 합니다. . 콘텐츠 높이가 가변적일 수 있음 内容 2. 코드 양이 적음
단점:
1. IE8은
2. 속성에 브라우저 제조업체 접두사를 작성해야 함
3. 다른 변환 효과를 방해할 수 있음
4. 어떤 경우에는 텍스트 렌더링이나 요소 경계가 흐릿하게 나타날 수 있습니다.
변환 구현 및 센터링에 대해 자세히 알아보려면 CSS-Tricks 기사 "Centering PercentageWidth/Height Elements"
Table-CellIn을 참조하세요. 일반적으로 이는 콘텐츠 블록 높이가 실제 콘텐츠의 높이에 따라 변경되고 브라우저 호환성이 좋기 때문에 중앙 정렬을 달성하는 가장 좋은 방법일 것입니다. 가장 큰 단점은 가장 안쪽 요소를 중앙에 배치하기 위해 세 개의 요소 레이어가 필요하므로 많은 추가 마크업이 필요하다는 것입니다. HTML:
<div class="Center-Container is-Table"> <div class="Table-Cell"> <div class="Center-Block"> <!-- CONTENT --> </div> </div> </div>
CSS:
.Center-Container.is-Table { display: table; } .is-Table .Table-Cell { display: table-cell; vertical-align: middle; } .is-Table .Center-Block { width: 50%; margin: 0 auto; }
장점:
1. 높이 변수
2. 콘텐츠 오버플로는 상위 요소를 확장합니다.
3. 브라우저 간 호환성이 좋습니다.
단점:
추가 HTML 태그 필요
12. Inline-Block센터링을 달성하는 매우 인기 있는 방법 기본 아이디어는 display: inline-block, Vertical-align: middle 및 pseudo-를 사용하는 것입니다. 요소는 컨테이너의 콘텐츠 블록을 중앙에 배치합니다. 콘텐츠 블록의 너비가 컨테이너의 너비보다 큰 경우, 예를 들어 긴 텍스트가 배치되는 경우 콘텐츠 블록의 너비는 컨테이너의 100%에서 0.25em을 뺀 값을 초과할 수 없습니다. 요소: after를 사용하면 콘텐츠 블록이 컨테이너 상단으로 압착됩니다. :before 콘텐츠 블록은 아래쪽으로 100% 오프셋됩니다.
콘텐츠 블록이 가능한 한 많은 수평 공간을 차지해야 하는 경우 max-width: 99%(더 큰 컨테이너의 경우) 또는 max-width: calc(100% -0.25em)(지원되는 브라우저 및 컨테이너 너비).
HTML:
<div class="Center-Container is-Inline"> <div class="Center-Block"> <!-- CONTENT --> </div> </div>
CSS:
.Center-Container.is-Inline { text-align: center; overflow: auto; } .Center-Container.is-Inline:after, .is-Inline .Center-Block { display: inline-block; vertical-align: middle; } .Center-Container.is-Inline:after { content: ''; height: 100%; margin-left: -0.25em; /* To offset spacing. May vary by font */ } .is-Inline .Center-Block { max-width: 99%; /* Prevents issues with long content causes the content block to be pushed to the top */ /* max-width: calc(100% - 0.25em) /* Only for IE9+ */ }
이 방법의 장점과 단점은 Table-Cell 방법과 비슷합니다. 처음에는 이 방법이 해킹 방법이기 때문에 무시했습니다. 그러나 이는 매우 널리 사용되는 사용법이며 브라우저에서 잘 지원됩니다.
장점:
1. 가변 높이
2. 콘텐츠 오버플로는 상위 요소를 확장합니다.
3. 크로스 브라우저를 지원하며 IE7에도 적합합니다.
단점:
1. 컨테이너가 필요합니다.
2. 가로 중심은 여백-왼쪽에 의존합니다: -0.25em; 이 크기는 다양한 글꼴/글꼴 크기에 맞게 조정되어야 합니다.
3. 콘텐츠 블록 너비는 컨테이너의 100%(0.25em)를 초과할 수 없습니다.
Flexbox이것이 CSS 레이아웃의 미래 추세입니다. Flexbox는 CSS3의 새로운 속성으로, 원래 수직 센터링과 같은 일반적인 레이아웃 문제를 해결하기 위해 설계되었습니다. Flexbox는 중앙 정렬에만 사용되는 것이 아니라 열을 분할하거나 일부 레이아웃 문제를 해결하는 데에도 사용할 수 있다는 점을 기억하세요.
장점: 1. 콘텐츠 블록의 너비와 높이에는 제한이 없으며 우아하게 넘칩니다.
2. 더 복잡하고 고급 레이아웃 기술에 사용할 수 있습니다.
단점:
1 IE8/IE9는 지원되지 않습니다.
2. 본문에는 특정 컨테이너와 CSS 스타일이 필요합니다.
3. 최신 브라우저에서 실행되는 코드에는 브라우저 공급업체 접두사가 필요합니다.
4. 일부 성능 문제가 있을 수 있습니다.
제안:
각 기술에는 장점과 단점이 있습니다. 어떤 기술을 선택하는지는 지원되는 브라우저와 코딩에 따라 다릅니다. 위의 비교 차트를 사용하여 결정하는 데 도움을 받으세요.
간단한 대안으로 절대 센터링 기술이 잘 수행됩니다. 한때 음수 여백을 사용한 곳에서는 이제 대신 절대 센터링을 사용할 수 있습니다. 더 이상 귀찮은 여백 계산과 추가 마크업을 처리할 필요가 없으며 콘텐츠 블록의 크기를 조정하고 중앙에 배치할 수도 있습니다.
사이트에 가변 높이 콘텐츠가 필요한 경우 Table-Cell과 Inline-Block의 두 가지 방법을 시도해 볼 수 있습니다. 최첨단 기술을 사용하고 있다면 Flexbox를 사용해 보고 이 고급 레이아웃 기술의 이점을 경험해 보세요.
위 내용은 CSS에서 중심 스타일을 구현하기 위한 여러 기술의 장점과 단점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.
