Maison interface Web tutoriel HTML 如何实现CSS居中??CSS居中常用方法_html/css_WEB-ITnose

如何实现CSS居中??CSS居中常用方法_html/css_WEB-ITnose

Jun 24, 2016 am 11:57 AM
css centre 常用 方法

来源:http://www.ido321.com/824.html

一、水平居中

      1、内联元素居中:相对父级块级元素居中对齐

   1: .center-children {
Copier après la connexion
   2:   text-align: center;
Copier après la connexion
   3: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

 

      2、块级元素居中:设置margin-left和margin-right为auto让它居中(同时还要设置width,否则它就会承满整个容器,无法看出居中效果)

   1: .center-me {
Copier après la connexion
   2:   margin: 0 auto;
Copier après la connexion
   3: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

 

如果有很多块级元素需要水平居中成一行,最好使用一个不同的display类型。这是一个使用inline-block和flex的例子。

演示地址:http://jsfiddle.net/Web_Code/5fvrwwk1/embedded/result/

   1: <main class="inline-block-center"></main>
Copier après la connexion
   2:   <div>    <pre style="代码" class="precsshei">   3:     I'm an element that is block-like with my siblings and we're centered in a row.
Copier après la connexion
   4:   
Copier après la connexion
Copier après la connexion
   5:   <div>    <pre style="代码" class="precsshei">   6:     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.
Copier après la connexion
   7:   
Copier après la connexion
   8:   <div>    <pre style="代码" class="precsshei">   9:     I'm an element that is block-like with my siblings and we're centered in a row.
Copier après la connexion
  10:   
Copier après la connexion
  11: 
Copier après la connexion
  12: <main class="flex-center"></main>
Copier après la connexion
  13:   <div>    <pre style="代码" class="precsshei">  14:     I'm an element that is block-like with my siblings and we're centered in a row.
Copier après la connexion
  15:   
Copier après la connexion
  16:   <div>    <pre style="代码" class="precsshei">  17:     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.
Copier après la connexion
  18:   
Copier après la connexion
  19:   <div>    <pre style="代码" class="precsshei">  20:     I'm an element that is block-like with my siblings and we're centered in a row.
Copier après la connexion
  21:   
Copier après la connexion
  22: 
Copier après la connexion

css:

   1: body {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   background: #f06d06;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3:   font-size: 80%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5: main {
Copier après la connexion
Copier après la connexion
   6:   background: white;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   margin: 20px 0;
Copier après la connexion
   8:   padding: 10px;
Copier après la connexion
   9: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
  10: main div {
Copier après la connexion
  11:   background: black;
Copier après la connexion
  12:   color: white;
Copier après la connexion
  13:   padding: 15px;
Copier après la connexion
  14:   max-width: 125px;
Copier après la connexion
  15:   margin: 5px;
Copier après la connexion
  16: }
Copier après la connexion
Copier après la connexion
  17: .inline-block-center {
Copier après la connexion
  18:   text-align: center;
Copier après la connexion
  19: }
Copier après la connexion
  20: .inline-block-center div {
Copier après la connexion
  21:   display: inline-block;
Copier après la connexion
  22:   text-align: left;
Copier après la connexion
  23: }
Copier après la connexion
Copier après la connexion
  24: .flex-center {
Copier après la connexion
  25:   display: flex;
Copier après la connexion
  26:   justify-content: center;
Copier après la connexion
  27: }
Copier après la connexion

二、垂直居中

       1、内联元素:设置相等的上下padding,或者利用line-height

   1: .link {
Copier après la connexion
   2:   padding-top: 30px;
Copier après la connexion
   3:   padding-bottom: 30px;
Copier après la connexion
   4: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

文本不会换行的情况下,可以使用line-height,让其与height相等去对齐文本。

   1: .center-text-trick {
Copier après la connexion
   2:   height: 100px;
Copier après la connexion
   3:   line-height: 100px;
Copier après la connexion
   4:   white-space: nowrap;
Copier après la connexion
   5: }
Copier après la connexion

 

多行的文本也可以利用上下等padding的方式也可以让多行居中,但是如果这方法没用,你可以让这些文字的容器按table cell模式显示,然后设置文字的vertical-align属性对齐,

演示地址: http://jsfiddle.net/Web_Code/5fvrwwk1/1/embedded/result/

html:

   1: 
Copier après la connexion
   2:   <tr>    <pre style="代码" class="precsshei">   3:     <td>    <pre style="代码" class="precsshei">   4:       I'm vertically centered multiple lines of text in a real table cell.
Copier après la connexion
   5:     
Copier après la connexion
   6:   
Copier après la connexion
   7: 
Copier après la connexion
   8: <div class="center-table">    <pre style="代码" class="precsshei">   9:   <p>I'm vertically centered multiple lines of text in a CSS-created table layout.</p>
Copier après la connexion
  10: 
Copier après la connexion

css

   1: body {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   background: #f06d06;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3:   font-size: 80%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5: table {
Copier après la connexion
   6:   background: white;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   width: 240px;
Copier après la connexion
   8:   border-collapse: separate;
Copier après la connexion
   9:   margin: 20px;
Copier après la connexion
  10:   height: 250px;
Copier après la connexion
  11: }
Copier après la connexion
  12: table td {
Copier après la connexion
  13:   background: black;
Copier après la connexion
  14:   color: white;
Copier après la connexion
  15:   padding: 20px;
Copier après la connexion
  16:   border: 10px solid white;
Copier après la connexion
  17:   /* default is vertical-align: middle; */
Copier après la connexion
  18: }
Copier après la connexion
  19: .center-table {
Copier après la connexion
  20:   display: table;
Copier après la connexion
  21:   height: 250px;
Copier après la connexion
  22:   background: white;
Copier après la connexion
  23:   width: 240px;
Copier après la connexion
  24:   margin: 20px;
Copier après la connexion
  25: }
Copier après la connexion
  26: .center-table p {
Copier après la connexion
  27:   display: table-cell;
Copier après la connexion
  28:   margin: 0;
Copier après la connexion
  29:   background: black;
Copier après la connexion
  30:   color: white;
Copier après la connexion
  31:   padding: 20px;
Copier après la connexion
  32:   border: 10px solid white;
Copier après la connexion
  33:   vertical-align: middle;
Copier après la connexion
  34: }
Copier après la connexion

 

     2、块级元素

若元素有固定高度,可以这样垂直居中

   1: .parent {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   position: relative;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: .child {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5:   position: absolute;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   6:   top: 50%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   height: 100px;
Copier après la connexion
Copier après la connexion
   8:   margin-top: -50px; /* 如果没有使用: border-box; 的盒子模型则需要设置这个 */
Copier après la connexion
   9: }
Copier après la connexion
Copier après la connexion
Copier après la connexion

如果不知道元素高度,则这样

   1: .parent {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   position: relative;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: .child {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5:   position: absolute;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   6:   top: 50%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   transform: translateY(-50%);
Copier après la connexion
   8: }
Copier après la connexion

也可以使用flexbox

   1: <main>  </main>
Copier après la connexion
   2:   <div>    <pre style="代码" class="precsshei">   3:      I'm a block-level element with an unknown height, centered vertically within my parent.
Copier après la connexion
   4:   
Copier après la connexion
Copier après la connexion
   5: 
Copier après la connexion

   1: body {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   background: #f06d06;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3:   font-size: 80%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5: main {
Copier après la connexion
Copier après la connexion
   6:   background: white;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   height: 300px;
Copier après la connexion
   8:   width: 200px;
Copier après la connexion
   9:   padding: 20px;
Copier après la connexion
  10:   margin: 20px;
Copier après la connexion
  11:   display: flex;
Copier après la connexion
  12:   flex-direction: column;
Copier après la connexion
  13:   justify-content: center;
Copier après la connexion
  14:   resize: vertical;
Copier après la connexion
  15:   overflow: auto;
Copier après la connexion
  16: }
Copier après la connexion
Copier après la connexion
  17: main div {
Copier après la connexion
  18:   background: black;
Copier après la connexion
  19:   color: white;
Copier après la connexion
  20:   padding: 20px;
Copier après la connexion
  21:   resize: vertical;
Copier après la connexion
  22:   overflow: auto;
Copier après la connexion
  23: }
Copier après la connexion
Copier après la connexion

 

三、同时水平和垂直居中

      1、元素有固定高度和宽度:先绝对居中,然后上移和左移50%的宽度即可

   1: //这种方案有极好的跨浏览器支持。
Copier après la connexion
   2: .parent {
Copier après la connexion
   3:   position: relative;
Copier après la connexion
   4: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5: .child {
Copier après la connexion
   6:   width: 300px;
Copier après la connexion
   7:   height: 100px;
Copier après la connexion
Copier après la connexion
   8:   padding: 20px;
Copier après la connexion
   9:   position: absolute;
Copier après la connexion
  10:   top: 50%;
Copier après la connexion
  11:   left: 50%;
Copier après la connexion
  12:   margin: -70px 0 0 -170px;
Copier après la connexion
  13: }
Copier après la connexion

 

     2、元素的高度和宽度未知或可变的:使用transofrm属性在两个方向都平移负50%

   1: .parent {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   2:   position: relative;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   3: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
   4: .child {
Copier après la connexion
Copier après la connexion
Copier après la connexion
   5:   position: absolute;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   6:   top: 50%;
Copier après la connexion
Copier après la connexion
Copier après la connexion
   7:   left: 50%;
Copier après la connexion
   8:   transform: translate(-50%, -50%);
Copier après la connexion
   9: }
Copier après la connexion
Copier après la connexion
Copier après la connexion
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Comment écrire des lignes fendues sur bootstrap Comment écrire des lignes fendues sur bootstrap Apr 07, 2025 pm 03:12 PM

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Comprendre HTML, CSS et JavaScript: un guide pour débutant Comprendre HTML, CSS et JavaScript: un guide pour débutant Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

Comment configurer le cadre de bootstrap Comment configurer le cadre de bootstrap Apr 07, 2025 pm 03:27 PM

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

See all articles