2011-12-27 34 views
5

Menu hoạt động trên tất cả các trình duyệt chính nhưng có vẻ khác trong IE7. Xem ảnh chụp màn hình dưới đây.
Kiểm tra bản trình diễn tại http://jsfiddle.net/FQLdm/6/Trình đơn CSS Vấn đề IE7

Khi bạn di chuột qua liên kết trang chủ, bạn sẽ thấy menu phụ. Trong IE7, cả nút menu và menu phụ đều được đẩy lên.

Điều này xảy ra khi tôi thay thế này

.menu1 ul.menu li{ 
    position: relative; 
    list-style-type: none; 
    display:block; 
    float:left; 
} 

với này (tôi cần phải sử dụng cách này inline-block để tập trung các mục danh sách)

.menu1 ul.menu li{ 
    position: relative; 
    list-style-type: none; 
    display:inline; 
    display:inline-block; 
    *display:inline; /*IE7*/ 
    *zoom:1; /*IE7*/ 
} 

Trong Chrome có vẻ tốt đẹp In chrome it works fine

Trong IE7 có vẻ khác. Lưu ý cách nút home được nâng lên. nó sẽ trông giống như ảnh chụp màn hình chrome ở trên.

In IE7 it looks different

+0

Rất có thể là một số vấn đề về lợi nhuận. Bạn có tập lệnh css đặt lại không? Tôi không thể chắc chắn 100%, nhưng có vẻ như menu phụ đang "đẩy mạnh" mục menu chính, giống như tôi đã nói trước đây rất có thể là vấn đề về lợi nhuận. – Matt

+0

@matt Tôi đã đặt lại CSS. nó không phải là vấn đề. Điều này chỉ xảy ra khi tôi sử dụng 'inline-block' thay vì' block'. Đọc ở trên – Pinkie

+0

ohhh tôi hoàn toàn bỏ lỡ rằng: p, đó là bởi vì IE7 không thực sự hỗ trợ inline-block. Nó chỉ từ IE8 +. Có thể sử dụng phao: trái với lề trái? – Matt

Trả lời

3

Viết vertical-align:middle trong số li. Như thế này:

.menu1 ul.menu li{ 
    vertical-align:middle; 
    position: relative; 
    list-style-type: none; 
    display:inline; 
    display:inline-block; 
    *display:inline; /*IE7*/ 
    *zoom:1; /*IE7*/ 

} 
+0

Điều đó thật hoàn hảo. dọc-align thực sự là vấn đề. nó hoạt động. Thanksss – Pinkie

0

một cái gì đó như thế này

đặt nó trong tập tin html xưa trong đầu

<!--[if lte IE 7]> 
    <style> 
    .menu1 ul li ul { 
     position:absolute; 
     top: 5px or 10px; 
    } 
    .menu1 { 
     position: relative; 
    } 
    </style>   
<![endif]--> 
+0

Điều này không hoạt động. Bạn nên thử nó trong jsfiddle. – Pinkie

+0

http://jsfiddle.net/amkrtchyan/qzNKd/ trong ie7 của tôi, nó hoạt động tốt –

+0

Có tôi nhận thấy điều đó. Đừng thử nó trên jsfiddle. Họ dường như thực hiện điều này trên một trình duyệt tiêu chuẩn nội bộ. chỉ cần sao chép và dán css và html tại địa phương và thử nó – Pinkie

1

enter image description here

Ví dụ hoạt động tốt trên IE7 trên máy tính của tôi.

+0

Có thể là một bình luận thay vì trả lời :) – sandeep

+0

yes bình luận của nó –

+0

để viết nó như một bình luận trong hộp bình luận thay vì trả lời – sandeep

0

Consult câu trả lời này: IE6 extra padding on bottom

Ngoài ra, không thiết display:block đôi khi có thể gây ra các vấn đề đệm, như nó đã làm cho tôi một lần. Hãy thử thêm điều đó vào CSS để xem có cải thiện gì không.

Các vấn đề liên quan