2009-04-30 14 views

Trả lời

7

Không.

Cách tốt nhất là viết mã hoạt động trong tất cả các trình duyệt mà không cần mã trình duyệt hoặc mã css cụ thể của trình duyệt. Đó là tất nhiên không hoàn toàn dễ dàng để thực hiện, đó là lý do tại sao nhiều người sử dụng các phương pháp khác.

Điều quan trọng là tránh những thứ mà một số trình duyệt (rất thường xuyên Internet Explorer) gặp sự cố. Một trong những điều như vậy là sử dụng padding thay vì margin, bởi vì IE không xử lý margin sụp đổ một cách chính xác.

Một số phương pháp nằm trong đường biên giới là hack đang sử dụng mã không ảnh hưởng đến các trình duyệt hoạt động chính xác nhưng khắc phục sự cố cho một trình duyệt cụ thể. Đó có thể là những thứ như chỉ định chiều cao cho một phần tử mà thông thường không cần một phần tử hoặc chỉ định display:inline trên một phần tử nổi.

Trang Position is everything có các ví dụ về một số lỗi và các bản sửa lỗi được đề xuất. (Thường thì sửa chữa là một số loại hack, vì vậy bạn nên tất nhiên cũng xem xét nếu bạn có thể tránh được vấn đề hoàn toàn.)

+0

Hầu hết các vấn đề mà bạn phác thảo đều là cài đặt loại tài liệu. Nếu bạn không làm điều đó thì có, bạn sẽ có sự khác biệt căn bản giữa các trình duyệt.Doctype với một css đặt lại giải quyết chỉ là về tất cả mọi thứ theo cách sử dụng bình thường. – NotMe

+0

Không, những gì tôi đã vạch ra được áp dụng ngay cả khi bạn có một loại tài liệu thích hợp và mã hợp lệ. Nếu không có nó, bạn sẽ tồi tệ hơn rất nhiều. – Guffa

0

Không nếu có thể. Bây giờ Netscape cũ, IE < = 6 vv không còn thực sự được sử dụng nhiều, tôi cố gắng sử dụng các tính năng hoạt động trong tất cả các trình duyệt đó (ví dụ: FF> = 2, IE> = 7, Chrome, Opera).

+0

IE6 vẫn được sử dụng rộng rãi, đó là một cái gì đó giữa 15 và 20% thị phần tùy thuộc vào nguồn. – marcgg

3

Tốt hơn là không nên làm.

Một css-reset và css tốt hoạt động cùng một trình duyệt chéo là một giải pháp tốt hơn nhiều.

Nếu thiết kế của bạn hoàn toàn loại trừ điều đó, thì (và chỉ sau đó) tôi sẽ thử hack hoặc nhận xét có điều kiện của IE.

Tôi chưa thấy sự cần thiết cho các tệp css mutliple (ngoài một vài sửa đổi IE6 được giải quyết qua nhận xét có điều kiện).

0

Conditional comments cho các vấn đề với Internet Explorer có vẻ như là tiêu chuẩn. Kết hợp với một chút JavaScript, như Dean Edward's ie7.js bạn có thể giảm thiểu hầu hết các vấn đề trình duyệt chéo mà không cần phải xâm nhập vào các tệp trong tệp CSS của bạn.

0

tốt hơn để sử dụng các tệp css khác nhau cho Internet Explorer 6-7 (bao gồm chúng thông qua conditional comments) và một hack cho các trình duyệt khác.

0

Một loại tiếp theo là cách phát triển tệp đơn hoạt động.

Cách tiếp cận tốt nhất mà tôi đã nhìn thấy là bắt đầu từ không, từ từ xây dựng và kiểm tra thay đổi bằng cách thay đổi nó vẫn tương thích trên các trình duyệt chính của bạn (đặc biệt là các trình duyệt có vấn đề).

Khi bạn làm cho nó hoạt động hoàn toàn với một trình duyệt và sau đó nói "thời gian chuyển đổi" là khi cơn đau thực sự bắt đầu và nơi bạn phải bắt đầu tấn công.

0

My approach sử dụng lớp PHP để phát hiện phiên bản trình duyệt, trình duyệt và trình duyệt. Bạn có thể nhắm mục tiêu bất kỳ phiên bản nào của hầu hết mọi trình duyệt trên bất kỳ hệ điều hành nào.