Открыть меню    

Невероятно полезные фрагменты кода для CSS

Ниже приведены небольшие фрагменты кода (snippets), который минимизируют ваши страдания и сэкономят время при написании CSS кода и, я надеюсь, вы найдете их полезными. Независимого от того, опытный ли вы разработчик или только приступаете к изучению CSS, данные фрагменты кода могут существенно облегчить вам жизнь.

Сброс стилей от Eric Meyer's

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-правила для старых браузеров*/
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

Источник

Всесторонний список CSS хаков для различных браузеров

/***** Хаки для селекторов ******/
/* IE6 и ниже */
* html #uno  { color: red }
 
/* IE7 */
*:first-child+html #dos { color: red } 
 
/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }
 
/* IE8, FF, Saf, Opera (все кроме IE 6,7) */
html>/**/body #cuatro { color: red }
 
/* Opera 9.27 и ниже, 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  }
 
/* Все кроме IE6-8 */
:root *>#quince { color: red  }
 
/* IE7 */
*+html #dieciocho {  color: red }
 
/* Firefox и ничего кроме. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }
 
/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }
 
/* FF 3.5+ */
body:not(:-moz-handler-blocked) #cuarenta { color: red; }
 
 
/***** Хаки для атрибутов ******/
/* IE6 */
#once { _color: blue }
 
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
 
/* Все кроме IE6 */
#diecisiete { color/**/: blue }
 
/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }
 
/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }
 
/* IE6, IE7 -- действует также как !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */
 
/* IE8, IE9 */
#anotherone  {color: blue\0/;} /* must go at the END of all rules */

Источник

Новый mikro clearfix huck

Clearfix - очищение потока с сохранением структурной верстки
/* Для современных браузеров */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
 
/* Для IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
} 

Специфичное свойство zoom инициирует разметку в браузере IE6.

Больше информации о плавающих элементах и способе их «очистки» можно узнать в статье Плавающие элементы. Преодолеваем проблемы.

Размер шрифта при помощи REM

rem (‛root em‛) (корневой em) это размер шрифта базового элемента документа. В отличие от em, которая может быть разной для каждого элемента, rem является постоянной для всего документа.

html { font-size: 62.5%; } 
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1   { font-size: 24px; font-size: 2.4rem; } /* =24px */

Новый пуленепробиваемый синтаксис для @font-face.

@font-face {
    font-family: 'MyFontFamily';
    src: url('myfont-webfont.eot?#iefix') format('embedded-opentype'), 
         url('myfont-webfont.woff') format('woff'), 
         url('myfont-webfont.ttf')  format('truetype'),
         url('myfont-webfont.svg#svgFontName') format('svg');
    }

Статья о свойстве @font-face: CSS3 @font-face или как использовать любой шрифт на сайте

Источник

Обозначаем разные значения одного свойства для браузеров IE6, IE7 и IE8

Всего четыре буквы и вы можете задать разноплановые значения одного свойства браузерам IE6, IE7 и IE8. НЕ спрашивайте почему \9 работает для IE8...однако работает.

body {
    color: red; /* для всез браузеров, безусловно */
    color : green\9; /* IE8 и ниже */
    *color : yellow; /* IE7 и ниже */
    _color : orange; /* IE6 */
    }

Источник

Кроссбраузерная прозрачность на CSS

  selector {
	filter: alpha(opacity=50); /* internet explorer */
	-khtml-opacity: 0.5;      /* khtml, старый safari */
	-moz-opacity: 0.5;       /* mozilla, netscape */
	opacity: 0.5;           /* fx, safari, opera */
	}

Источник

Удаляем обводку (outline) для браузеров WEBKIT

  input[type="text"]: focus {
   outline: none;
	}

Кроссбраузерная минимальная высота

#div {
       min-height: 500px;
       height:auto !important;
       height: 500px;
    }

Кроссбраузерное свойство text-shadow (включая IE)

 p {
    text-shadow: #000000 0 0 1px;
    zoom:1;
    filter: progid:DXImageTransform.Microsoft.Glow(Color=#000000,Strength=1);
    -ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=-1, OffY=-1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=-1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=-1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=0,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=-1, OffY=1,
 Color=#000000)progid:DXImageTransform.Microsoft.dropshadow(OffX=-1, OffY=0,
 Color=#000000)";
 
    }

Замена текста изображением. Техника основанная на text-indent

h1 {
	  background: url(img/image.jpg) no-repeat;
	  height: 100px;
	  width: 500px;
	  display: block;
	  text-indent: -9999px;
	}

IE6/7 Двойное поле (margin) / Баг с отступом (padding)

ul li {
	  float: left;
	  margin-left: 5px;
	  *display: inline; /*IE7 and below*/
	  _display: inline; /*IE6 and below*/
	}
 
/* в этом примере правим баг двойного поля */

Удаляем полосу прокрутки (scrollbar) для textarea в IE

textarea {
	    overflow:auto;
	}

Меняем стиль у выделенного пользователем текста

::selection {
	color: white;
	background-color: red;
	}
 
	::-moz-selection {
	color: white;
	background-color: red;
	}

Шрифты с google font api

Чтобы использовать шрифты от google font api, необходимо прописать следующую конструкцию внутри тега <head>:

/* <link rel="stylesheet" 
type="text/css" href="http://fonts.googleapis.com
/css?family=Font+Name"> */ 
<link rel="stylesheet" type="text/css"
href="http://fonts.googleapis.com/css?family=Tangerine">
/*CSS селектор {
      font-family: 'Font Name', serif;    }*/font-family: 'Tangerine', serif;

Правильный line-height (межстрочный интервал) для тегов SUB и SUP

sup, sub {
	    vertical-align: baseline;
	    position: relative;
	    top: -0.4em;
	}
	sub { top: 0.4em; }

Стилизуем ссылки в зависимости от типа файла

/* внешние ссылки */
    a[href^="http://"]
    {
    padding-right: 13px;
    background: url(external.gif) no-repeat center right;
    }
     
    /* emails */
    a[href^="mailto:"]
    {
    padding-right: 20px;
    background: url(email.png) no-repeat center right;
    }
     
    /* pdfs */
    a[href$=".pdf"]
    {
    padding-right: 18px;
    background: url(acrobat.png) no-repeat center right;
    }

CSS3 media queries

Media Queries, позволяют определить различные правила CSS для определенных условий, например, разных разрешений.

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
/* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen 
and (min-width : 321px) {
/* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen 
and (max-width : 320px) {
/* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
/* Styles */
}

/* iPads (landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
/* Styles */
}

/* iPads (portrait) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {
/* Styles */
}

/* Desktops and laptops ----------- */
@media only screen 
and (min-width : 1224px) {
/* Styles */
}

/* Large screens ----------- */
@media only screen 
and (min-width : 1824px) {
/* Styles */
}

/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}

Источник

По материалам статьи useful css snippets

Комментарии к статье

Добавить комментарий