Maison > interface Web > tutoriel CSS > le corps du texte

La disposition CSS est centrée et alignée, le côté gauche a une largeur fixe et le côté droit est adaptatif. Introduction détaillée.

高洛峰
Libérer: 2017-03-31 10:34:31
original
2872 Les gens l'ont consulté
    CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。如果你有更多关于布局方面的技巧,欢迎留言交流。一、神奇的居中    经常看到有一些面试题问如何实现水平垂直居中,还要求用多种方法。唉唉唉!下面介绍一下我所知道的实现居中的方法。(1)父元素relative;子元素absolute,top:50%;left:50%;margin-left:-自己宽度的一半;margin-right:-自己高度的一半。
Copier après la connexion
nbsp;html>


    <meta>
    <title>水平垂直居中2</title>
    <style>
        .container{
            width: 100%;
            height: 500px;
            background: red;
            position: relative;
        }
        .child{
            width: 300px;
            height: 300px;
            background: blue;
            position: absolute;
            left: 50%;
            margin-left: -150px;
            top: 50%;
            margin-top: -150px;
        }
    </style>


    <div>
        <div></div>
    </div>

Copier après la connexion

Cette méthode nécessite de connaître la largeur et la hauteur des éléments enfants.

(2)父元素:relative;子元素:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
Copier après la connexion
nbsp;html>


    <meta>
    <title>水平垂直居中3</title>
    <style>
        .container{
            background: red;
            width: 100%;
            height: 500px;
            position: relative;
        }
        .child{
            background: blue;
            width: 300px;
            height: 300px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
        }
    </style>


    <div>
        <div></div>
    </div>

Copier après la connexion
<span style="font-size: 14px; font-family: Microsoft YaHei">此法跟上面的相似,但是用到了transform,好处是不需要知道子元素的宽高,兼容性方面我查了一下,看着办吧。<br><img src="https://img.php.cn/upload/article/000/000/013/e6f851faee59ab9abba51c883c21e708-0.png" alt="La disposition CSS est centrée et alignée, le côté gauche a une largeur fixe et le côté droit est adaptatif. Introduction détaillée."    style="max-width:90%"  style="max-width:90%" title="La disposition CSS est centrée et alignée, le côté gauche a une largeur fixe et le côté droit est adaptatif. Introduction détaillée."><br><strong>(3)父元素:<a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>: flex;justify-content: center;align-items: center;</strong></span>
Copier après la connexion
nbsp;html>


    <meta>
    <title>水平垂直居中1</title>
    <style>
        .container{
            width: 100%;
            height: 400px;
            background: red;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .child{
            width: 300px;
            height: 300px;
            background: blue;
        }
    </style>


    <div>
        <div></div>
    </div>

Copier après la connexion

Cette méthode semble un peu haut de gamme, et vous n'avez pas du tout besoin de prêter attention aux éléments enfants.

(4)水平居中的方法,父元素:text-align:center
Copier après la connexion
nbsp;html>


    <meta>
    <title>水平垂直居中4</title>
    <style>
        .container{
            background: red;
            width: 100%;
            height: 500px;
            text-align: center;
        }
        .child{
            background: blue;
            width: 300px;
            height: 300px;
            margin: auto;
        }
    </style>


    <div>
        <div></div>
    </div>

Copier après la connexion
<span style="font-size: 14px; font-family: Microsoft YaHei">如果子元素里的文字不要水平居中的话,那么用此法将遇到不少麻烦。<strong>(5)水平居中方法,子元素:margin:0 auto;这个好说,不上代码了</strong>好了,关于居中问题就说这么多,如果你还有更好的方法,请告诉我。<br><strong>二、左侧固定宽度,右侧自适应</strong>这是一个比较常见的需求,下面介绍几种实现方法。
(1)左边定宽,左<a href="http://www.php.cn/code/11748.html" target="_blank">浮动</a>,右边不指定宽。</span>
Copier après la connexion
nbsp;html>


    <meta>
    <title>做固定,右边自适应</title>
    <style>
    body{
        margin: 0;
    }
        .aside{
            background: red;
            width:200px;
            height: 500px;
            float: left;
        }
        .main {
            background: blue;
            height: 500px;
        }
    </style>


    <div>
        我是左边的
    </div>
    <div>
        我是主体
        我是主体
        我是主体
        我是主体
        我是主体
    </div>

Copier après la connexion

J'ai accidentellement découvert cette méthode en faisant des expériences, et ce fut une agréable surprise.

(2) Utilisez le rembourrage pour occuper les sièges

nbsp;html>


    <meta>
    <title>左侧固定右侧自适应</title>
    <style>
        .container {
            padding-left: 200px;
            width: 100%;
            position: relative;
        }
        .left{
            position: absolute;
            left: 0;
            right: 0;
            background: red;
            height: 500px;
            width: 200px;
        }
        .right{
            background: blue;
            width: 100%;
            height: 500px;
        }
    </style>


    <div>
        <div>zuobian</div>
        <div>
            新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。和俄罗斯联邦总统普京分别致贺信。
        </div>
    </div>

Copier après la connexion

Notez que l'absolu est hors du flux du document . Les 100 % de .right sont relatifs à la largeur du contenu du conteneur parent, et non à la largeur totale.

(3) Parent : display:flex gauche largeur fixe ; ok

nbsp;html>


    <meta>
    <title>左边固定,右边自适应</title>
    <style>
        .container{
            display: flex;
        }
        .left{
            width: 200px;
            height: 500px;
            background: red;
        }
        .right{
            background: blue;
            height: 500px;
            flex: 1;
        }
    </style>


    <div>
        <div>zuobian</div>
        <div>
            新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。和俄罗斯联邦总统普京分别致贺信。
        </div>
    </div>

Copier après la connexion
弹性盒子很强,有木有。但是有的是要加前缀的,哪些要加自己查去,有一次做实验,电脑样式正确,手机就是不对,搞了好半天。
Copier après la connexion
(4)父:display:table;左右:display:table-cell;左:定宽。
Copier après la connexion
nbsp;html>


    <meta>
    <title>左边固定,右边自适应</title>
    <style>
        .container{
            display: table;
        }
        .left{
            width: 200px;
            height: 500px;
            background: red;
            display: table-cell;
        }
        .right{
            background: blue;
            height: 500px;
            display: table-cell;
        }
    </style>


    <div>
        <div>zuobian</div>
        <div>
            新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。罗斯联邦总统普京分别致贺信。
        </div>
    </div>

Copier après la connexion
据说这是一种古老的方法,我咋不知道呢?可能我比较年轻吧!
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal