Some Browser-Specific CSS Hacks
When you are working on a potential client product and also you are in rush to deliver the work within timeline then what you do? I think the answer will be working fast!. Yes you will work continues and fast to meet the deadlines. Here in case of front-end developers/designer who really want to deliver outstanding work specially the designs must work in all browsers and devices. Sometimes they stuck in trouble. And may be you are the one who has been stuck with very small alignment issue, or a small piece of border or line which is making your whole work bad. You are tired to Googling and still could not fix this CSS issue.
In this horrible situation, you must think about CSS hacks, Yes! Some Browser Specific CSS Hacks which can make your CSS job easier and more flexible with time since you been tired to fix with your own ways.
I found a good solution on browserhacks website which have really solved my CSS problems and I wanted to share this story with you and solution for cross browser compatibility. See below..
/***** Selector Hacks ******/
/* IE6 and below */
* html #uno { color: red }
/* IE7 */
*:first-child+html #dos { color: red }
/* IE7, FF, Saf, Opera */
html>body #tres { color: red }
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }
/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#diez { color: red }
}
/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
#veintiseis { color: red }
}
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece { color: red }
/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red }
/* Everything but IE6-8 */
:root *> #quince { color: red }
/* IE7 */
*+html #dieciocho { color: red }
/* Firefox only. 1+ */
#veinticuatro, x:-moz-any-link { color: red }
/* Firefox 3.0+ */
#veinticinco, x:-moz-any-link, x:default { color: red }
/***** Attribute Hacks ******/
/* IE6 */
#once { _color: blue }
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
/* Everything but IE6 */
#diecisiete { color/**/: blue }
/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }
/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }
/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */
I am sure It is a great help for you.. If It solved your problem or have any question you can ask me below comments box. Cheers!