Saya memiliki bilah navigasi horizontal yang dibuat dari daftar yang tidak berurutan, dan setiap item daftar memiliki banyak padding agar terlihat bagus, tetapi satu-satunya area yang berfungsi sebagai tautan adalah teks itu sendiri. Bagaimana saya dapat mengaktifkan pengguna untuk mengklik di mana saja dalam item daftar untuk mengaktifkan link?
#nav {
background-color: #181818;
margin: 0px;
overflow: hidden;
}
#nav img {
float: left;
padding: 5px 10px;
margin-top: auto;
margin-bottom: auto;
vertical-align: bottom;
}
#nav ul {
list-style-type: none;
margin: 0px;
background-color: #181818;
float: left;
}
#nav li {
display: block;
float: left;
padding: 25px 10px;
}
#nav li:hover {
background-color: #785442;
}
#nav a {
color: white;
font-family: Helvetica, Arial, sans-serif;
text-decoration: none;
}
<div id="nav">
<img src="/images/renderedicon.png" alt="Icon" height="57" width="57" />
<ul>
<li><a href="#">One1</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
</ul>
</div>
<div>
<h2>Heading</h2>
</div>
display: inline; zoom: 1;
dalam komentar bersyarat untuk IE6 dan IE7 akan menggantikandisplay: inline-block;
meskipun ya, jika item daftar sudah mengambang,display: block;
akan baik-baik saja juga>
simbol muncul setelah teks tautan saya, tetapi tidak memasukkannya ke dalam konten ... Saya akhirnya hanya memasukkannya ke dalam konten. Akan penasaran jika ada cara yang lebih baik untuk mencapai itu.Tentukan properti css tag anchor Anda sebagai:
Kemudian jangkar akan menempati seluruh area daftar, jadi klik Anda akan berfungsi di ruang kosong di sebelah daftar Anda.
sumber
li
, seperti ikon.Buatlah tag anchor berisi padding daripada
li
. Dengan cara ini, itu akan mengambil semua area.sumber
Sangat, sangat terlambat ke pesta ini, tapi bagaimanapun: Anda juga bisa mengatur gaya jangkar sebagai item fleksibel. Ini sangat berguna untuk item daftar yang berukuran / tersusun secara dinamis.
(Peringatan: flexboxes adalah obvs masih belum didukung dengan baik. Autoprefixer untuk menyelamatkan!)
sumber
ul
dan flexbox.Gunakan berikut ini:
sumber
Atau Anda bisa menggunakan jQuery:
sumber
Anda harus menggunakan properti dan nilai CSS ini ke dalam
li
:Jadi, Anda dapat menangani tautan dengan jQuery atau JavaScript, atau menggunakan
a
tag, tetapi semua elemen tag lain di dalamli
harus memiliki properti CSS:sumber
Cukup terapkan css di bawah ini:
sumber
inilah cara saya melakukannya
Buat
<a>
blok segaris dan hapus bantalan dari Anda<li>
Kemudian Anda bisa bermain dengan
width
danheight
dari<a>
dalam<li>
Menempatkan
width
untuk100%
sebagai awal dan melihat cara kerjanyaNB: - Dapatkan bantuan Alat Pengembang Chrome saat mengubah
height
danwidth
sumber
Anda selalu dapat membungkus seluruh tag li dengan tag hiperlink Berikut adalah solusi saya:
sumber
Letakkan item daftar di dalam hyperlink, bukan sebaliknya.
Misalnya dengan kode Anda:
sumber