1. Ý tưởng sử dụng CSS xây dựng menu dọc hai cấp
UL
và LI
nằm trong serieHTML căn bản.UL
dùng để chứa các thẻLI
và đương nhiên để có hai cấp thì chúng ta phải lồng thêm một cặp UL
và LI
nữa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| < ul > < li > < a href = "#" >Trang Chủ</ a > </ li > < li > < a href = "#" >Tin Tức</ a > < ul > < li > < a href = "#" >Tin Trong Nước</ a > </ li > < li > < a href = "#" >Tin Nước Ngoài</ a > </ li > </ ul > </ li > </ ul > |

position:relative
và menu con sẽ có giá trị position:absolute
).2. Sử dụng CSS xây dựng menu dọc hai cấp đơn giản
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
35
36
37
38
39
40
| < body > < ul > < li > < a href = "#" >Trang Chủ</ a > </ li > < li > < a href = "#" >Tin Tức</ a > < ul > < li > < a href = "#" >Tin Trong Nước</ a > </ li > < li > < a href = "#" >Tin Nước Ngoài</ a > </ li > </ ul > </ li > < li > < a href = "#" >Khoa Học</ a > < ul > < li > < a href = "#" >Viễn Tưởng</ a > </ li > < li > < a href = "#" >Sáng Tạo</ a > </ li > </ ul > </ li > < li > < a href = "#" >Pháp Luật</ a > < ul > < li > < a href = "#" >Văn Bản</ a > </ li > < li > < a href = "#" >Kiến Nghị</ a > </ li > </ ul > </ li > </ ul > </ body > |
1
2
3
| ul{ width : 250px ; } |
1
2
3
4
5
6
7
8
9
10
| ul li{ height : 30px ; /*Cao 30px*/ line-height : 30px ; /*Cho chữ canh giữa 30px*/ list-style : none ; /*Không hiển thị dấu chấm đầu menu*/ padding : 0px 10px ; /*đẩy nôi dung menu vào 10cm (trái + phải)*/ background : pink; /*màu nèn màu hồng*/ border : solid 1px red ; /*đường viền màu đỏ*/ border-bottom : none ; /*vì menu liền kề nhau nên border-bottom không cần*/ position : relative ; /*chọn làm khung*/ } |
border-bottom: none
nên ở menu cuối cùng sẽ không có đường viền ở bottom. Để giải quyết nó thì ta sẽ thêm border-bottom
cho thẻ li:last-child (thẻ li cuối cùng).
1
2
3
| ul li:last-child{ border-bottom : solid 1px red ; } |
ul li ul
.
1
2
3
4
5
6
| ul li ul{ position : absolute ; top : -1px ; /*cho ngang hàng với menu cha, vì menu cha có border - 1 nên ta phải trừ đi 1*/ right : -250px ; /*vì nàm ngoài khung và dài 250px nên là số âm 250px */ display : none ; /*Ban đầu sẽ không hiển thị*/ } |
li
menu cha.
1
2
3
| ul li:hover ul{ display : block ; } |
No comments:
Post a Comment