Свой собственный CSS – фреймворк

в 19:30, , рубрики: css, framework, метки: ,

Вы используете CSS — фреймворк?

Для тех, кто использует CSS — фреймворк в своей работе, прошу поделиться своим опытом в комментариях, будет очень полезно и интересно.

CSS — фреймворк — это заранее подготовленный набор HTML и CSS — файлов. Идея в том, чтобы при создании каждого нового проекта использовать этот готовый набор файлов, в которых для вас уже создан макет, задано шрифтовое оформление и написан весь основной код, общий для большинства сайтов. Я использую собственный CSS — фреймворк, он очень простой, идея взята из книги «CSS ручной работы», применяю его всякий раз, когда приступаю к реализации нового проекта.

Я покажу вам код каждого CSS — файла.

Можно также использовать готовый CSS — фрейворк, например: 960 Grid System или Blueprint. Если вы используете готовый фреймворк, то существует опасность того, что в вашем коде будет много ненужного хлама. Который вы не будете использовать в своем проекте. В любом случае выбор за вами какой фреймворк использовать, я делюсь только своим опытом работы и вариантом который, для меня больше подходит.

Давайте посмотрим как устроены таблицы стилей моего фреймворка. Сначала поговорим об HTML — файле который служит для любого моего проекта, я называю его index.html. Внутри файла index.html находится простая незаполненная структура для тех элементов которые я планирую использовать в любом проекте.

Смотрите и наслаждайтесь.

Файл index.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>Untitled</title>
	<!-- [if gte IE 7]><!-->
	<link rel="stylesheet" type="text/css" media="screen, projection" href="css/screen.css" />
	<!--<! [endif]-->
</head>

<body>

<div id="wrap">
<div id="header" class="group">
	<div id="logo">
	LOGO
	</div>

	<ul id="nav">
		<li><a href="#">Link</a></li>
		<li><a href="#">Link</a></li>
		<li><a href="#">Link</a></li>
		<li><a href="#">Link</a></li>
	</ul>
</div> <!-- /header -->

<hr />

<div class="group">
	<div id="main">
	Main
	</div> <!-- /main -->

	<hr />

	<div id="secondary">
		Secondary
	</div> <!-- /secondar -->

</div> <!-- /.group -->

<hr />

<div id="footer">
	Fotter
</div> <!-- /footer -->
</div> <!-- /wrap -->

<!-- c(yats) -->
</body>
</html>

Далее мы посмотрим на каждый из четырех CSS — файлов, которые я использую. Начнем с screen.css — основной таблицы стилей. Она представляет собой всего-навсего список других таблиц стилей. Порядок импортирования важен.

Файл screen.css

/*
Title: Imported style sheets are used in the project
Author: author@yats.com.ua
*/

/* import stylesheets */
@import url ("reset.css");
@import url ("master.css");
@import url ("ie.css");
/* end import */

Первая таблица стилей, которая импортируется в файл screen.css — это таблица стилей reset.css. Она сбрасывает стандартные стили, которые браузеры применяют по умолчанию.

Файл reset.css

/*
Title:		Reset default browser styles
Author: 	author@yats.com.ua
*/

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, font, 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 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	border: 0;
	outline: 0;
	background: transparent;
	}

ol, ul {
	list-style: none;
	}

blockquote, q {
	quotes: none;
	}

:focus {
	outline: 0;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	}

Файл reset.css, который я использую при создании всех проектов, во многом позаимствован у Эрика Мейера. После сброса стандартных настроек браузера мы добавляем стили основного оформления. Основной файл master.css, содержит все стили для дизайна данного сайта. Чтобы ускорить процес создания оформления, я добавил кое-какие базовые элементы.

Файл master.css

/*
Title:		Master styles for screen media
Author: 	author@yats.com.ua
*/

body{
	font-family: "Helvetica neue", Helvetica,Arial, sans-serif;
	color: #444;
	font-size: 62.5%;
	background: #fff;
}

/* links */

a:link, a:visited {
	color: #369;
	outline: none;
}

a:hover{
	color: #39c;
}

/* Page structure
------------------------------*/

#wrap{
	margin: auto;
	max-width: 62.5em
}

#main{

}

#secondary{

}

#footer{

}

/* Header
------------------------------*/

#logo{

}

/* nav */

#nav{

}

/* Main styles
------------------------------*/

/* Secondary styles
------------------------------*/

/* Footer styles
------------------------------*/

#footer{

}

/* Misc.
------------------------------*/

hr, .hide {
	display: none;
}

a img {
	border: none;
}

/* self-clear floats */

.group:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

И наконец, мы импортируем файл ie.css, в котором содержится весь дополнительный код для Internet Explorer. Я предпочитаю выделить эти правила в отдельную таблицу стилей, чтобы master.css оставался чистым и лишенным того безобразия, которое происходит в IE.

Файл ie.css

/*
Title:		IE patches
Author: 	author@yats.com.ua
*/

/* PNG fix */

* html #selector { /* for IE<6 */
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='img/image.png');
	background-image: none;
	background-repeat: no-repeat;
	background-color: transparent;
	}

/* self-clear floats */

* html .group { /* IE6 */
	height: 1%;
	}
*:first-child+html .group { /* IE7 */
	min-height: 1px;
	}

Я только что описал структуру моего небольшого фреймворка. Это не значить, что я считаю его самым лучшим. Скорее я надеюсь пробудить в вас интерес в создании своего собственного фреймворка(если его у вас еще нет).

Автор: yats

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js