2011-01-01 43 views
7

Tôi đang gặp vấn đề với css trong firefox, do đó tôi muốn nhập khẩu một tập tin css chỉ khi trình duyệt FFtuyên bố css có điều kiện cho firefox

Thực ra, tôi cần phải nhập kiểu này:

.searchbutton{ 
    position:absolute; right:3px; width:25px; 
    top:3px; 
} 

#buscarmain{ bottom:12px; 

} 

EDIT:

Nhiều người đã lập luận rằng tôi không nên sử dụng câu lệnh đặc biệt cho FF, vì FF có lẽ là chính xác nhất, so với các trình duyệt khác.

Tuy nhiên, trong trường hợp này tất cả các trình duyệt in cùng một trang (IE, Chrome, Opera, Safari) và FF hiển thị nó theo cách khác. Tôi phải đạt được cùng một hình ảnh cho tất cả các trình duyệt, do đó tôi cần một tuyên bố FF đặc biệt

+6

Vấn đề với trình duyệt Firefox chỉ hoặc các trình duyệt khác, quá? Nếu bạn so sánh với IE thì đánh dấu của bạn là sai. Có một lý do bình luận có điều kiện chỉ cần thiết trong IE. – Rob

+0

Tôi có một thứ trông giống như IE, Safari, Chrome, nhưng không phải là firefox. Tôi không quan tâm nếu đánh dấu của tôi là "sai", như thể có một điều như vậy trong một cấu trúc non-xml. Tôi chỉ muốn biết cách áp dụng một phong cách cho firefox mà thôi. Tôi đoán người hỏi cũng vậy. – MrBoJangles

Trả lời

8

giải quyết vấn đề

chỉ nói thêm:

<script type="text/javascript"> 
    if ($.browser.mozilla == true) { 
     document.write("<link type=\"text/css\" rel=\"stylesheet\" href=\"FF.css\">"); 
    } 
</script> 
+0

Bạn nhận ra rằng Firefox không có khả năng xảy ra lỗi trong khi các trình duyệt khác thì không, đúng không? Như đã nói, hãy kiểm tra lại đánh dấu và css của bạn, và chắc chắn rằng bạn không so sánh firefox với IE chỉ – pwseo

+3

Mọi người trên thế giới, ngừng kích hoạt firefox (trình duyệt của tôi được lựa chọn bằng cách này), giày chú hề không phải là tuyên bố thời trang Firefox có lỗi như sản phẩm của Apple và bất kỳ thứ gì khác. – MrBoJangles

+0

Dan, đây là một câu hỏi hay và một câu trả lời hay, tôi không biết sai với mọi người. – MrBoJangles

1

IE là trình duyệt duy nhất có nhận xét có điều kiện. Tôi luôn cảm thấy rằng mọi trình duyệt nên có riêng của họ, nhưng than ôi.

Tôi nghĩ giải pháp là tinh chỉnh bảng định kiểu của bạn để nó hiển thị đúng trong Firefox và sau đó sửa cho IE.

Giải pháp thô và rất bẩn là sử dụng JavaScript để phát hiện trình duyệt và thêm lớp như "ffonly" vào thẻ body nếu trình duyệt là Firefox. Sau đó, luôn mang trong stylesheet Firefox của bạn nhưng đặt ".ffonly" vào lúc bắt đầu trên tất cả các quy tắc phong cách của bạn

+0

Bất cứ khi nào bất cứ ai yêu cầu trình duyệt CSS cụ thể, tôi luôn đặt câu hỏi về khả năng của mình. IE là trình duyệt duy nhất cần những thứ như vậy. – Rob

+1

Tôi phải không đồng ý. Các trình duyệt khác nhau có tiền tố CSS riêng và xử lý nhiều thứ theo cách riêng của chúng, CSS gradient, xoay 2D, v.v. Tôi biết rằng Firefox là trình duyệt duy nhất có thể đọc quy tắc tiền tố -moz, nhưng bằng cách nào đó tôi cảm thấy nó sẽ duyên dáng hơn để chỉ phục vụ các quy tắc như vậy cho Firefox. Tất nhiên, nó sẽ bắt đầu được lấp đầy với hacks lười biếng và khai báo quan trọng như vậy có lẽ thiếu ý kiến ​​điều kiện không IE là một điều tốt. Đối với hồ sơ: bạn nói đúng, một coder tốt sẽ không cần chúng. –

+0

Bạn đang nói về tiền tố của nhà cung cấp là một phần của thông số W3C và cho phép trình duyệt triển khai các tính năng dành riêng cho họ. Thông thường, điều này là dành cho các thuộc tính không chuẩn hoặc các thuộc tính không ổn định mà tiêu chuẩn chưa được hoàn thành. Nhận xét có điều kiện là không chuẩn, đó là lý do tại sao chúng chỉ hoạt động trong IE. – Rob

12

Bạn có thể thử các css browser selector

+0

tuyệt vời! cảm ơn. –

+0

liên kết ban đầu đã ngừng hoạt động, bạn có thể thử cập nhật câu trả lời không? (Tôi biết nó được 3 năm) –

12

Dưới đây là cách chúng tôi có thể nhắm mục tiêu kiểu CSS chỉ dành cho Firefox:

<style type="text/css"> 
@-moz-document url-prefix() { 
    h1 { 
     color: red; 
    } 
} 
</style> 

Nguồn: Targeting only Firefox with CSS

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