cari
Rumahhujung hadapan webtutorial cssCSS中五种方法实现导航菜单水平居中的实例详解

在网页设计中,水平导航菜单使用是十分广泛的,在CSS样式中,我们一般会用Float元素或是「display:inline-block」来解决。而今天主要讲解如何让未知宽度的元素居中,下面我们会列出几种方法来解决水平居中问题。当然这些方法不一定是用来解决导航菜单问题,还有其它类似情况也是可以使用的。

CSS导航菜单水平居中的多种方法:

  • 方法1:display:inline-block

  • 方法2:position:relative

  • 方法3:display:table

  • 方法4:display:inline-flex

  • 方法5:width:fit-content / width:intrinsic

方法1:display:inline-block

这个方法比较简单,是将容器转成「display:inline-block」行内块级元素,然后就可以直接用「text-align:center」使其达到水平居中效果。

HTML代码:

这里我们需要一个p来包围这个导航菜单。

<p class="navbar">
    <ul>
        <li><a href="/">首页</a></li>
        …
    </ul>
</p>

CSS代码:

给外面的p添加「text-align:center」,然后将菜单容器设成「display:inline-block」行内块级元素,菜单浮左「float:left」

.navbar {
    text-align:center;
}
.navbar ul {
    display:inline-block;
}
.navbar li {
    float:left;
}
.navbar li + li {
    margin-left:20px;
}

这里浏览器兼容只能是IE8或更高版本,所以如果要兼容IE7的话,请加入以下代码

.navbar ul {
    display:inline;
    zoom:1;
}

方法2:position:relative

这是使用「position:relative」定位方法来让元素水平居中,我不是很推荐这方法,因为代码多了个p去包住,当然这些是根据情况来使用的。

HTML代码:

<p class="navbar">
    <p>
        <ul>
            <li><a href="/">首页</a></li>
            …
        </ul>
    </p>
</p>

CSS代码:
将定位p设为浮动,再定位「left:50%」,然后导航定位至「left:-50%」,这方法很有意思吧。可能表达不是很清楚,自己看代码吧^^

.navbar {
    overflow:hidden;
}
.navbar > p {
    position:relative;
    left:50%;
    float:left;
}
.navbar ul {
    position:relative;
    left:-50%;
    float:left;
}
.navbar li {
    float:left;
}
.navbar li + li {
    margin-left:20px;
}

如果要兼容IE7,请添加以下样式:

.navbar {
    position:relative;
}

方法3:display:table

如果你喜欢简洁的代码,哪么这个方法就非常适合你了。

HTML代码:

<ul class="navbar">
    <li><a href="/">Home</a></li>
    …
</ul>

CSS代码:

.navbar {
    display:table;
    margin:0 auto;
}
.navbar li {
    display:table-cell;
}
.navbar li + li {
    padding-left:20px;
}

浏览器兼容:这方法代码精简,但不支持IE7及以下版本……

方法4:display:inline-flex

有关flex layout的知识自己查下吧>_<

HTML代码:

<p class="navbar">
    <ul>
        <li><a href="/">Home</a></li>
        …
    </ul>
</p>

CSS代码:

.navbar {
    text-align:center;
}
.navbar > ul {
    display:-webkit-inline-box;
    display:-moz-inline-box;
    display:-ms-inline-flexbox;
    display:-webkit-inline-flex;
    display:inline-flex;
}
.navbar li + li {
    margin-left:20px;
}

浏览器兼容:不支持IE7及以下版本的IE浏览器。

方法5:width:fit-content

HTML代码:

<p class="navbar">
    <ul>
        <li><a href="/">首页</a></li>
        …
    </ul>
</p>

CSS代码:

.navbar {
    text-align:center;
}
.navbar > ul {
    display:-webkit-inline-box;
    display:-moz-inline-box;
    display:-ms-inline-flexbox;
    display:-webkit-inline-flex;
    display:inline-flex;
}
.navbar li + li {
    margin-left:20px;
}

浏览器兼容:这个兼容比较低,只支持Firefox或chrome、Opera 12这些较新的浏览器。 

写在最后:方法1:display:inline-block 简单易懂。

 

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
Indieweb dan WebmentionsIndieweb dan WebmentionsApr 19, 2025 am 11:16 AM

Indieweb adalah satu perkara! Mereka ' VE mendapat persidangan yang datang dan segala -galanya. New Yorker juga menulis tentangnya:

Model pertumbuhan (pemaju ' s)Model pertumbuhan (pemaju ' s)Apr 19, 2025 am 11:08 AM

Saya sangat suka jawatan "Model Pertumbuhan Pereka" oleh Dennis Hambeukers. Dennis hanya mencipta model ini, tetapi ia ' s berdasarkan beberapa idea yang ada dan semuanya

Haunted: cangkuk untuk komponen webHaunted: cangkuk untuk komponen webApr 19, 2025 am 11:06 AM

Saya hanya berbual dengan Dave dan dia memberitahu saya tentang berhantu. Ia cangkuk, tetapi untuk komponen web asli! Cukup sejuk. Saya rasa kewujudan barangan seperti ini

Berita Platform Mingguan: Masa Acara, Google Earth untuk Web, Undead Sesi CookiesBerita Platform Mingguan: Masa Acara, Google Earth untuk Web, Undead Sesi CookiesApr 19, 2025 am 10:57 AM

Dalam berita minggu ini, Wikipedia membantu mengenal pasti tiga pengendali klik perlahan, Google Earth datang ke web, sifat SVG dalam CSS mendapatkan lebih banyak sokongan, dan apa yang perlu dilakukan sekiranya berlaku kue zombie.

Pemotongan pelbagai baris dengan CSS tulenPemotongan pelbagai baris dengan CSS tulenApr 19, 2025 am 10:50 AM

Caranya dalam artikel ini masih cukup kemas dan pandai, tetapi ada cara yang kini standard untuk melakukan ini yang mungkin pertaruhan terbaik anda.

Perpustakaan animasi CSSPerpustakaan animasi CSSApr 19, 2025 am 10:46 AM

Terdapat banyak perpustakaan yang ingin membantu anda menghidupkan perkara di web. Ini tidak benar -benar perpustakaan yang membantu anda dengan sintaks atau

Input Warna: Menyelam dalam ke dalam perbezaan silang penyemak imbasInput Warna: Menyelam dalam ke dalam perbezaan silang penyemak imbasApr 19, 2025 am 10:40 AM

Dalam artikel ini, kita akan melihat struktur di dalam elemen, ketidakkonsistenan pelayar, mengapa mereka melihat cara tertentu dalam penyemak imbas tertentu, dan bagaimana

Menyekat elemen (pseudo) ke kotak sempadan ibu bapa 'Menyekat elemen (pseudo) ke kotak sempadan ibu bapa 'Apr 19, 2025 am 10:39 AM

Pernahkah anda mahu memastikan bahawa tiada elemen (pseudo) yang dipaparkan di luar kotak sempadan ibu bapa ' s? Sekiranya anda mempunyai masalah untuk membayangkan apa

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 Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

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),

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.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.