suchen
HeimWeb-FrontendHTML-TutorialCSS垂直水平完全居中手册_html/css_WEB-ITnose

居中一直是CSS中被抱怨的典型。为什么实现起来这么辛苦?所以有人被嘲笑。我觉得问题不是没有办法做到,只是视情况而定,有很多不同方式,但是很难弄清楚应该用何种方式。

  因此我写了这篇文章,希望能把他变得容易点。

 水平居中 

  内联元素(inline or inline-*)居中?

  你可以让他相对父级块级元素居中对齐

1

2

3

.center-children {

   text-align : center ;

}

  块级元素(block level)居中?

  你可以通过设置margin-left和margin-right为auto让它居中(同时还要设置width,否则它就会承满整个容器,无法看出居中效果),如。

1

2

3

.center-me {

   margin : 0 auto ;

}

  如果有很多块级元素呢?

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

  在线示例: http://jsfiddle.net/ourjs/0b6b7wt8/

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

  

     I'm an element that is block-like with my siblings and we're centered in a row.

   div >

  

     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.

   div >

  

     I'm an element that is block-like with my siblings and we're centered in a row.

   div >

main >

 

  

     I'm an element that is block-like with my siblings and we're centered in a row.

   div >

  

     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.

   div >

  

     I'm an element that is block-like with my siblings and we're centered in a row.

   div >

main >

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

body {

   background : #f06d06 ;

   font-size : 80% ;

}

main {

   background : white ;

   margin : 20px 0 ;

   padding : 10px ;

}

main div {

   background : black ;

   color : white ;

   padding : 15px ;

   max-width : 125px ;

   margin : 5px ;

}

.inline-block- center {

   text-align : center ;

}

.inline-block- center div {

   display : inline- block ;

   text-align : left ;

}

.flex- center {

   display : flex;

   justify- content : center ;

}

 垂直居中

  垂直居中在CSS中有点棘手

  内联元素(inline or inline-*)居中,像文本和链接那样的?

  它是一行的吗?

  有时侯元素可以表现像垂直居中,只是因为它们有相等的上下padding

1

2

3

4

.link {

   padding-top : 30px ;

   padding-bottom : 30px ;

}

  如果padding因为某些原因不能用,而且文本不会换行的情况下,你可以使用line-height,让其与height相等去对齐文本。

1

2

3

4

5

.center-text-trick {

   height : 100px ;

   line-height : 100px ;

   white-space : nowrap ;

}

  它是多行的?

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

  在线演示: http://jsfiddle.net/ourjs/0fn2u4rc/

1

2

3

4

5

6

7

8

9

10

  

    

       I'm vertically centered multiple lines of text in a real table cell.

     td >

   tr >

table >

   I'm vertically centered multiple lines of text in a CSS-created table layout. p >

div >

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

body {

   background : #f06d06 ;

   font-size : 80% ;

}

table {

   background : white ;

   width : 240px ;

   border-collapse : separate ;

   margin : 20px ;

   height : 250px ;

}

table td {

   background : black ;

   color : white ;

   padding : 20px ;

   border : 10px solid white ;

   /* default is vertical-align: middle; */

}

.center-table {

   display : table;

   height : 250px ;

   background : white ;

   width : 240px ;

   margin : 20px ;

}

.center-table p {

   display : table-cell ;

   margin : 0 ;

   background : black ;

   color : white ;

   padding : 20px ;

   border : 10px solid white ;

   vertical-align : middle ;

}

  块级元素(block level)垂直居中?

  你知道元素的高度吗?

  出于很多方面的原因,不知道网页布局的高度是相当普遍的。

  但是如果你的布局有一个固定高度,你就可以这样垂直居中:

1

2

3

4

5

6

7

8

9

.parent {

   position : relative ;

}

.child {

   position : absolute ;

   top : 50% ;

   height : 100px ;

   margin-top : -50px ; /* 如果没有使用: border-box; 的盒子模型则需要设置这个 */

}

  元素的高度是未知的

  尽管未知,但你仍有可能向上推移50%的宽度

  在线演示: http://jsfiddle.net/ourjs/9sLf7p56/

1

2

3

4

5

6

7

8

.parent {

   position : relative ;

}

.child {

   position : absolute ;

   top : 50% ;

   transform: translateY( -50% );

}

  你可以使用flexbox吗?

  这并不奇怪,使用flexbox会容易非常多

1

2

3

4

5

 

  

      I'm a block-level element with an unknown height, centered vertically within my parent.

   div > 

main >

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

body {

   background : #f06d06 ;

   font-size : 80% ;

}

main {

   background : white ;

   height : 300px ;

   width : 200px ;

   padding : 20px ;

   margin : 20px ;

   display : flex;

   flex- direction : column;

   justify- content : center ;

   resize: vertical;

   overflow : auto ;

}

main div {

   background : black ;

   color : white ;

   padding : 20px ;

   resize: vertical;

   overflow : auto ;

}

 同时水平和垂直居中

  元素有固定的宽度和高度

  如果元素的宽度和高度是固定的,你需要先绝对居中,然后上移和左移50%的宽度即可,这种方案有极好的跨浏览器支持。

1

2

3

4

5

6

7

8

9

10

11

12

13

.parent {

   position : relative ;

}

 

.child {

   width : 300px ;

   height : 100px ;

   padding : 20px ;

   position : absolute ;

   top : 50% ;

   left : 50% ;

   margin : -70px 0 0 -170px ;

}

  元素的宽度高度未知

  如果你不知道高度和宽度(可变的),你可以使用transofrm属性在两个方向都平移负50%

1

2

3

4

5

6

7

8

9

10

.parent {

   position : relative ;

}

 

.child {

   position : absolute ;

   top : 50% ;

   left : 50% ;

   transform: translate( -50% , -50% );

}

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Die Zukunft von HTML: Evolution und Trends im WebdesignDie Zukunft von HTML: Evolution und Trends im WebdesignApr 17, 2025 am 12:12 AM

Die Zukunft von HTML ist voller unendlicher Möglichkeiten. 1) Neue Funktionen und Standards umfassen mehr semantische Tags und die Beliebtheit von Webcomponenten. 2) Der Webdesign -Trend entwickelt sich weiterhin für reaktionsschnelles und zugängliches Design. 3) Die Leistungsoptimierung verbessert die Benutzererfahrung durch reaktionsschnelle Bildlade- und faulen Ladetechnologien.

HTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickHTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickApr 16, 2025 am 12:04 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: HTML ist für die Inhaltsstruktur verantwortlich, CSS ist für den Stil verantwortlich und JavaScript ist für dynamisches Verhalten verantwortlich. 1. HTML definiert die Webseitenstruktur und den Inhalt durch Tags, um die Semantik zu gewährleisten. 2. CSS steuert den Webseitenstil über Selektoren und Attribute, um es schön und einfach zu lesen. 3. JavaScript steuert das Verhalten von Webseiten über Skripte, um dynamische und interaktive Funktionen zu erzielen.

HTML: Ist es eine Programmiersprache oder etwas anderes?HTML: Ist es eine Programmiersprache oder etwas anderes?Apr 15, 2025 am 12:13 AM

HtmlisnotaprogrammingLanguage; itiSamarkuplanguage.1) htmlstructuresandFormatswebcontentuses.2) itWorkswithCSSForstylingandjavaScriptForinteraktivität, EnhancingWebDevelopment.

HTML: Erstellen der Struktur von WebseitenHTML: Erstellen der Struktur von WebseitenApr 14, 2025 am 12:14 AM

HTML ist der Eckpfeiler der Erstellung von Webseitenstruktur. 1. HTML definiert die Inhaltsstruktur und die Semantik und Verwendung usw. Tags. 2. Stellen Sie semantische Marker wie usw. zur Verfügung, um den SEO -Effekt zu verbessern. 3. Um die Benutzerinteraktion durch Tags zu verwirklichen, achten Sie auf die Verifizierung der Form. 4. Verwenden Sie fortschrittliche Elemente wie in Kombination mit JavaScript, um dynamische Effekte zu erzielen. 5. Zu den häufigen Fehlern gehören nicht abgegebene Bezeichnungen und nicht geeignete Attributwerte, und Überprüfungstools sind erforderlich. 6. Optimierungsstrategien umfassen das Reduzieren von HTTP -Anforderungen, die Komprimierung von HTML, die Verwendung semantischer Tags usw.

Von Text zu Websites: Die Kraft von HTMLVon Text zu Websites: Die Kraft von HTMLApr 13, 2025 am 12:07 AM

HTML ist eine Sprache, mit der Webseiten erstellt, die Webseitenstruktur und -inhalt über Tags und Attribute definiert werden. 1) HTML organisiert die Dokumentstruktur über Tags, wie z. B.. 2) Der Browser analysiert HTML, um das DOM zu erstellen und die Webseite zu rendern. 3) Neue Merkmale von HTML5, wie z. B. Multimedia -Funktionen. 4) Zu den häufigen Fehlern gehören nicht abgestimmte Bezeichnungen und nicht geeignete Attributwerte. 5) Die Optimierungsvorschläge umfassen die Verwendung semantischer Tags und die Reduzierung der Dateigröße.

HTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchHTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchApr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

Die Rolle von HTML: Strukturierung von WebinhaltenDie Rolle von HTML: Strukturierung von WebinhaltenApr 11, 2025 am 12:12 AM

Die Rolle von HTML besteht darin, die Struktur und den Inhalt einer Webseite durch Tags und Attribute zu definieren. 1. HTML organisiert Inhalte über Tags wie das Lesen und Verständnis. 2. Verwenden Sie semantische Tags wie usw., um die Zugänglichkeit und SEO zu verbessern. 3. Optimierung des HTML -Codes kann die Ladegeschwindigkeit und die Benutzererfahrung der Webseite verbessern.

HTML und Code: Ein genauerer Blick auf die TerminologieHTML und Code: Ein genauerer Blick auf die TerminologieApr 10, 2025 am 09:28 AM

HtmlisaspecifictypeofcodeFocusedonstructuringuringwebcontent, während "Code" breitincludesluages ​​-ähnlichjavaScriptandpythonforfunctionality.1) htmldefineswebpageStructureStags.2) "Code" cometesaWiNrangeOfLanguagesForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForForfirsInsForfunctionNacts

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft