cari
Rumahhujung hadapan webtutorial css关于css水平居中的分析

水平居中是常用的几种布局方式之一。主要分为行内元素的居中,块元素的居中。块元素的居中还分为固定宽度的居中,不定宽度的居中。行内元素的居中,使用text-align:center就可以实现,已知宽度的块元素的居中,使用绝对定位以及设置

margin为宽的一半的负值就可以实现。但是不定宽度的居中比起上面两种更常用,也更复杂,我们常常需要在分页的页码展示等地方用到不定宽居中,使用起来更方便,下面来研究下常用的几种块元素的水平居中。

1.标签嵌套偏移

实现原理:

联想到固定宽度的居中的实现:先偏移到屏幕中央,在设置其margin方向偏移宽的一半。那么能不能想到一种方法,借用这种思路,先偏移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布局


实现原理:


先定义一个flex容器,然后设置其内容对齐方式为中间对齐

<!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来实现水平居中总感觉有点别扭,这块外面的container也先多余,但是为了不影响body内其他元素的局部,暂且如此。另外兼容性不错,在ie6+可以正常显示。

以上就是小编为大家带来的关于css水平居中的小小探讨全部内容了,希望大家多多支持PHP中文网~


Atas ialah kandungan terperinci 关于css水平居中的分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Pembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesPembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesMar 08, 2025 am 09:45 AM

Ini adalah jawatan ke -3 dalam siri kecil yang kami lakukan dalam kebolehcapaian bentuk. Jika anda terlepas jawatan kedua, lihat "Menguruskan Fokus Pengguna dengan: Fokus-Visible". Dalam

Menambah bayang -bayang kotak ke blok dan elemen WordPressMenambah bayang -bayang kotak ke blok dan elemen WordPressMar 09, 2025 pm 12:53 PM

CSS box-shadow dan garis besar sifat mendapat tema.json Sokongan dalam WordPress 6.1. Let ' s melihat beberapa contoh bagaimana ia berfungsi dalam tema sebenar, dan pilihan apa yang kita perlu gunakan gaya ini ke blok dan elemen WordPress.

Buat borang hubungan JavaScript dengan rangka kerja pintarBuat borang hubungan JavaScript dengan rangka kerja pintarMar 07, 2025 am 11:33 AM

Tutorial ini menunjukkan mewujudkan bentuk JavaScript yang berpandangan profesional menggunakan rangka kerja pintar (nota: tidak lagi tersedia). Walaupun kerangka itu sendiri tidak tersedia, prinsip dan teknik tetap relevan untuk pembina bentuk lain.

Buat editor teks sebaris dengan atribut yang boleh dipertikaikanBuat editor teks sebaris dengan atribut yang boleh dipertikaikanMar 02, 2025 am 09:03 AM

Membina editor teks sebaris tidak remeh. Proses ini bermula dengan membuat elemen sasaran yang boleh diedit, mengendalikan potensi pengecualian syntaxError di sepanjang jalan. Membuat editor anda Untuk membina editor ini, anda perlu mengubahsuai kandungan secara dinamik

Menjadikan Peralihan Svelte Khas pertama andaMenjadikan Peralihan Svelte Khas pertama andaMar 15, 2025 am 11:08 AM

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

Bekerja dengan Caching GraphqlBekerja dengan Caching GraphqlMar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma)Membandingkan 5 Pembina Borang PHP Terbaik (dan 3 skrip percuma)Mar 04, 2025 am 10:22 AM

Artikel ini meneroka skrip pembina bentuk PHP teratas yang terdapat di Envato Market, membandingkan ciri -ciri, fleksibiliti, dan reka bentuk mereka. Sebelum menyelam ke dalam pilihan tertentu, mari kita faham apa pembina bentuk PHP dan mengapa anda menggunakannya. Borang PHP

Muat naik fail dengan multer di node.js dan ekspresMuat naik fail dengan multer di node.js dan ekspresMar 02, 2025 am 09:15 AM

Tutorial ini membimbing anda melalui membina sistem muat naik fail menggunakan Node.js, Express, dan Multer. Kami akan merangkumi muat naik fail tunggal dan berganda, dan juga menunjukkan menyimpan imej dalam pangkalan data MongoDB untuk mendapatkan semula kemudian. Pertama, sediakan Projek anda

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),