>  기사  >  웹 프론트엔드  >  CSS 수평 센터링 분석

CSS 수평 센터링 분석

高洛峰
高洛峰원래의
2017-03-08 14:12:281075검색

수평 센터링은 일반적으로 사용되는 레이아웃 방법 중 하나입니다. 크게 인라인 요소의 센터링과 블록 요소의 센터링으로 나누어진다. 블록 요소의 센터링도 고정 너비 센터링과 가변 너비 센터링으로 구분됩니다. 인라인 요소의 중앙 정렬은 text-align:center를 사용하여 수행할 수 있습니다. 너비가 알려진 블록 요소의 중앙 정렬은 절대 위치 지정을 사용하고

여백을 음수 값으로 설정하여 수행할 수 있습니다. 너비의 절반. 그러나 가변 너비 센터링은 위의 두 가지보다 더 일반적으로 사용되며 페이지 번호 표시 및 기타 장소에서 가변 너비 센터링을 사용해야 하는 경우가 많습니다. 블록 요소를 사용했습니다.

1. 라벨 중첩 오프셋

구현 원칙:

고정 너비 센터링 구현과 관련: 첫 번째 오프셋 화면 중앙으로 이동하고 여백 방향을 너비의 절반만큼 오프셋되도록 설정합니다. 그렇다면 이 아이디어를 사용하여 먼저 화면 오른쪽 절반으로 50%를 오프셋한 다음 반대 방향으로 다시 오프셋하는 방법을 생각해 볼 수 있습니까? 구현하기 더 어려운 것은 너비가 무엇인지 모르는 것입니다. 또한 부모의 너비와 자식의 너비가 동일하다면 백분율을 사용하면 문제를 해결할 수 있다고 생각했습니다. 그렇다면 상위 너비를 단어 너비와 동일하게 만드는 방법은 무엇입니까? float의 래핑 속성 활용: 상위 요소가 부동이고 너비와 높이가 설정되지 않은 경우 가능한 한 하위 요소를 래핑하려고 시도합니다.

구현 코드:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body{  
            background-color: #e5da31;  
        }  
        .container{  
            position: absolute;   /*脱离文档流,其宽度将由子元素的宽度决定*/  
            left:50%;  
        }  
        .content{  
            position: absolute;  
            left:-50%;  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

구현 효과:

CSS 수평 센터링 분석

장점과 단점:

단점은 확실합니다. 문서 내용과 관련 없는 태그를 작성해야 합니다. 코드 몇 줄만 추가하면 호환성이 좋습니다. IE6+ 브라우저


2.flex-box 레이아웃


구현 원칙:


먼저 플렉스 컨테이너를 정의한 다음 콘텐츠 정렬을 가운데 정렬로 설정

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body {  
            background-color: #e5da31;  
        }  
        .container {  
            display: flex;  /*定义一个flex容器*/  
            justify-content: center;  /*定义容器的空间没有被全部占用时,内容的对其方式*/  
        }  
        .content{  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

효과 달성 :

CSS 수평 센터링 분석


장단점 분석 :

구현이 가장 간단하지만, flex 호환성 때문에 성능이 좋지 않으니, 저사양 브라우저와의 호환성이 필요한 경우에는 주의해서 사용하세요.


3. 인라인 레이아웃


구현 원칙:

text-align:center는 인라인 요소를 수평으로 중앙에 배치할 수 있습니다. 블록 요소를 인라인 요소로 변경하면 text-align을 사용하여 수평 중앙에 배치할 수 있습니다.

구현 코드:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不定宽度水平居中</title>
    <style>
        body{  
            background-color: #e5da31;  
        }  
        .container{  
          text-align:center;  
        }  
        .content{  
        display: inline;  
            background-color: #2ecc71;  
        }  
    </style>
</head>
<body>
<p class="container">
    <p class="content">标签嵌套</p>
</p>
</body>
</html>

구현 효과:

CSS 수평 센터링 분석

장단점 분석 :

원래 텍스트 정렬을 수정하는 데 사용되는 text-align을 사용하여 가로 가운데 정렬을 수행하는 것은 항상 약간 어색하게 느껴집니다. 이 외부 컨테이너도 중복되지만 그렇지 않습니다. 현재로서는 신체의 다른 요소에 부분적으로 영향을 미칩니다. 또한 호환성이 좋아 IE6+에서도 정상적으로 표시가 가능합니다.

위는 편집자가 가져온 CSS 수평 센터링에 대한 작은 토론의 전체 내용입니다. PHP 중국어 웹 사이트를 지원하시기 바랍니다~


위 내용은 CSS 수평 센터링 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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