Với những bạn thiết kế chuyên nghiệp, những người hay "cắt css", ... vấn đề khá đau đầu cho dân thiết kế là làm sao sản phẩm website của mình chạy tương đồng, giống nhau cho tất cả mọi trình duyệt (nhất là IE)
Mình xin giới thiệu các cách để hack css sau đây : Cách 1 : Hack ngay trong file css Đối với Firefox
HTML Code:
html>/**/body .logo{margin-left:10px} /* chỉ firefox thôi */
html>body .logo{margin-left:10px} /* ie7 và firefox */
Đối với IE
HTML Code:
.box {
margin-top:5px; /* tất cả các trình duyệt */
margin-top:8px\9;/*Tất cả cá trình duyệt IE */
*margin-top:8px; /* IE 7 và các IE thấp hơn */
_margin-top:8px; /* IE 6 và các IE thấp hơn */
_mar\gin-top: 8px; /* chỉ áp dụng cho thằng IE 6 */
_margin-top/**/:/**/ 10px; /* IE 6 luôn */
margin-top/**/:9px; /* IE 5.0 */
_margin-top:/**/ 22px; /* IE 5.5 */
}
* html .logo{margin-left:10px;} /* ie6 */
* + html .logo{margin-left:20px;} /* ie7 */
Google Chrome và Safari
HTML Code:
/* trong google chrome màu chữ sẽ là màu đỏ */
#test1{color:green;}
@media screen and (-webkit-min-device-pixel-ratio:0) {
#test1{color:red;}
}
Google Chrome và Opera<10
HTML Code:
/* Chữ màu đỏ cho opera và google chrome */
#test2{
color:green;
-bracket-:hack(;
color:red;
);
}
Nếu bạn chỉ muốn hack cho riêng trình duyệt Chrome thì dùng :
HTML Code:
#test3{
/* màu đỏ sẽ được dùng ở google chrome */
color:green;
(-bracket-:hack;
color:red;
);
}
Hoặc :
HTML Code:
/* màu đỏ sẽ được dùng ở google chrome */
#test4{
color:green;
-bracket-:hack[;
color:red;
];
}
SAFARI
HTML Code:
/* css cho Safari đây */
.box {
margin-top:5px;
padding:5px;# // đây là phần hack css cho safari
}
OPERA
HTML Code:
.myclass { background-color: red; } /* tất cả các trình duyệt */
@media screen and (-webkit-min-device-pixel-ratio:0) {
.myclass { background-color: yellow; }
} /* Opera */
@media all and (min-width:0px) {head~body .logo {margin-left:10px;}} /* chỉ opera */
Cách 2 : Để css hack ngay trong thẻ với các câu lệnh điều khiển if….else
HTML Code: "stylesheet" type="text/css" media="screen" href="css/style.css" /> Ở cách trên , muốn hack css ở trình duyệt nào thì các bạn viết css tương ứng cho file css tương ứng. Ngoài ra các bạn cũng có thể làm theo cách sau :
Và trong file css của bạn, bạn sẽ phải chỉ định theo từng trình duyệt như sau :
HTML Code:
/* Áp dụng ở tất cả trình duyệt */
.element {
margin-bottom: 20px;
}
/* Áp dụng cho IE7 */
.ie7 .element {
margin-bottom: 10px;
}
/* Áp dụng cho IE8 */
.ie8 .element {
margin-bottom: 15px;
}
Trên đây là các cách để hack CSS trên các trình duyệt phổ biến hiện nay là Google Chrome, Firefox, IE, Opera và Safari.
Nếu bạn nào có cách hack tốt hơn cho các trình duyệt hoặc biết cách hack cho những trình duyệt khác thì xin chia sẻ để mọi người biết nha.
Mình rất mong sự đóng góp ý kiến của các bạn.