Основы блочной верстки (DIV верстки) — Часть 1 — Как работают сайты, повышение безопасности сайта, структура HTML кода, создание простого макета в 2 колонки на дивах

Рубрика: Блочная DIV верстка

Здравствуйте уважаемые читатели блога KtoNaNovenkogo.ru. Это очередная статья из рубрики Верстка — изучение и применение на практике HTML, CSS, PHP, MySql, речь в которой пойдет, как вы уже, наверное, догадались из названия, о так называемой блочной верстке или же верстке на дивах (DIV верстка).

На данный момент существуют два основных способа верстания сайта — блочная DIV верстка и табличная. Чуть ранее, в статье, , посвященной созданию таблиц в HTML, я писал о некоторых недостатках присущих табличной верстке (Табличная верстка — простая, но не перспективная), поэтому сейчас не буду останавливаться на этом вопросе.

Блочная верстка

Что нам потребуется для создания простого макета сайта с использованием блочной верстки (DIV верстки)

Примем как должное, что использование блочной DIV верстки в большинстве случаев будет предпочтительнее, чем использование верстки табличной. В то же время, верстка на дивах является немного более сложной в освоении и понимании, нежели верстка табличная, но оно того стоит.

Не пожалейте времени и попробуйте окунуться в основы блочной DIV верстки, для начала, хотя бы прочитав эту статью, в которой я постараюсь в доступной форме рассказать об основных моментах и принципах, используемых при создании макета (2 и 3 колонки) сайта на дивах (DIV — блоках или же по другому контейнерах).

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

Тем не менее, думаю, что нам это не помешает, а данная статья может стать своеобразной вводной статьей по курсу CSS. Здесь вы на конкретных, несложных примерах увидите и, надеюсь, поймете логику работы с каскадными таблицами стилей CSS в связке с HTML кодом.

Сегодня мы попробуем на конкретных примерах разобраться в нюансах создания простейших д макетов (шаблонов) в 2 и 3 колонки для сайтов. Все свойства CSS, которые при этом будут использоваться, я постараюсь подробно разъяснить и объяснить необходимость их использования. А уже в последующих статьях курса по CSS мы рассмотрим все свойства каскадных таблиц стилей во всех подробностях и вариациях.

Для того, чтобы нам создать простой макет сайта, основанный на блочной DIV верстке, достаточно будет двух файлов, в одном из которых мы пропишем HTML код нашего макета (пусть это будет файл index.html), а в другом — разместим стилевое оформление CSS макета (назовем этот файл style.css). Почему мы назвали первый из файлов index.html, а не как-то по другому?

Как браузер работает с файлами сайта, почему особое значение придается файлам index.html и index.php, как обеспечить безопасность сайта

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

Для каждого расположенного на сервере сайта отводится своя папка, которая прочно связывается с доменным именем сайта при помощи DNS серверов (подробнее про хостинг, домены и DNS читайте в этой серии статей — Доменное имя и хостинг для вашего будущего сайта). Так вот, браузер будет искать по указанному в адресной строке пути (корневой папка вашего сайта, в адресной строке будет соответствовать доменному имени вашего ресурса) именно файл под названием index.html или index.php.

Наверное, в теории не совсем понятно, поэтому поясню на примере. Когда вы набираете в адресной строке своего браузера, допустим:

http://ktonanovenkogo.ru

то браузер осуществляет поиск в корневой папке моего блога (физически файлы блога находятся на сервере хостинга, в папке public_html, которая ассоциирована с доменным именем моего блога ktonanovenkogo.ru). Что же ищет браузер в корневой папке моего блога? А ищет он файл index.html или index.php, и найдя соответствующий файл, открывает его:

  • в случае index.html, браузер сразу же преобразует HTML код этого файл в видимую нам страничку блога
  • в случае index.php, на сервере хостинга начнет выполняться в реальном времени код PHP, который прописан в этом файле. Скорость выполнения PHP кода зависит от скорости и загруженности сервера вашего хостинга, а так же от количества выделенных лично для вашего сайта ресурсов сервера. В результате выполнения этого PHP кода, на выходе будет сформирована страничка в формате HTML, которую браузер уже преобразует в видимую вам страничку блога. Немного подробнее о логике работы сайтов на основе CMS, использующих PHP код, вы можете почитать здесь.

Повышаем безопасность своего сайта — запрещаем просмотр содержимого директорий через браузер (.htaccess)

А что произойдет, если по указанному в адресной строке пути браузер не найдет ни файла index.html, ни файла index.php? Тут все зависит от настроек сервера вашего хостинга. Если настроено все правильно, то при отсутствии, по заданному в адресной строке браузера пути, файлов index.html или index.php, браузер отобразит станицу ошибки 404. Если у вашего хостинга сервер настроен не правильно, то при отсутствии index.html или index.php по указанному пути, в окне браузера вы можете увидеть содержимое директории (папки) данного сайта.

Естественно, что ничего поменять в этих директориях вы из браузера не сможете, но взломщику может быть достаточно просто знания содержимого директорий вашего сайта, для дальнейшего успешного взлома. Давайте проверим. Зайдите по этому адресу моего сайта: http://ktonanovenkogo.ru/image/.

У вас откроется мой вариант страницы ошибок 404 (подробнее о том, как создать правильную страницу ошибок для Joomla и WordPress читайте в этих статьях — Настройка страницы ошибок 404 для сайта на Joomla с помощью компонента ARTIO JoomSEF и Как создать и зачем нужна страница ошибок 404 для блога на WordPress). В этой папке у меня хранятся изображения, которые я использую на страницах блога (например, это — http://ktonanovenkogo.ru/image/goo.png).

Защищаем директории своего сайта от просмотра их содержимого через браузер с помощью добавления пустого файла index.html

В принципе, вы можете сами запретить просмотр (листинг) директорий, в которых нет файлов index.html или index.php, если это не сделал за вас хостер. Сделать это можно несколькими способами. Один из них — это добавить во все папки не содержащие файлов index, пустой файл index.html.

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

Теперь, если кто-то наберет в адресной строке путь до такой папки вашего сайта, то он увидит пустую белую страницу и все. Хотя, конечно же, вместо пустого файла index.html, можно создать осмысленный файл index.html, помогающий пользователю сориентироваться на вашем сайте (вроде правильной страницы ошибки 404).

Кстати, в папках с дистрибутивом Joomla, которые по умолчанию не должны иметь файлов index, принудительно уже добавлен пустой файл index.html. Все это сделано для повышения безопасности работы сайтов на базе Joomla. Но данный способ очень трудозатратный, ибо папок не содержащих файлов index.html или index.php у вашего сайта может быть несколько сотен. Поэтому можно воспользоваться альтернативным способом.

Запрещаем просмотр директорий своего сайта (листинг) через браузер с помощью настройки файла .htaccess

Есть такой файл, предназначенный для дополнительной конфигурации сервера Apache (большинство хостингов работают под управлением Apache), который названием .htaccess. Да, да, именно так, с точкой перед названием и без расширения. Специфика линукса, однако. Так вот, этот файл скорей всего уже есть у вас в корневой папке сайта.

Вам нужно будет подключиться к вашему сайту по FTP и открыть корневую папку вашего сайта (обычно это либо папка public_html, либо папка htdocs). Нашли файл .htaccess? Если нет, то попробуйте выбрать из верхнего меню FileZilla пункт «Сервер»-"Принудительно отображать скрытые папки".

По-прежнему не видите файла .htaccess? Ничего страшного, вы можете сами создать этот файл. Для этого вам нужно будет в текстовом редакторе сохранить пустую страницу, дав ей название .htaccess, а затем подключившись к вашему сайту по FTP, скопировать этот пустой файл .htaccess в корневую папку вашего ресурса. Все, теперь у вас есть файл .htaccess, поздравляю. Правда, он будет пустой, но это поправимо.

Для запрещения просмотра через браузер содержимого директорий, в которых нет файлов index.html или index.php, вам нужно будет прописать (или дописать, если ваш файл .htaccess не пустой) всего лишь одну сточку:

Options -Indexes

Все, теперь просмотр содержимого директорий вашего сайта через браузер будет запрещен. Собственно, этого мы и добивались.

Создаем простейший макет сайта в 2 колонки на основе блочной верстки (DIV верстки)

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

Тогда, при обращению через браузер к папке TEST (в случае моего сайта для этого нужно будет набрать в адресной строке браузера http://ktonanovenkogo.ru/test), запустится файл index.html. Но браузер так же осуществит подгрузку файла style.css, т.к. мы пропишем в файле index.html путь до файла стилевого оформления style.css. Ну, а теперь давайте рассмотрим все это подробно на конкретных примерах.

Сначала давайте попробуем создать простой макет в 2 колонки на Div верстке, который будет содержать верхнюю часть (шапку или же header), нижнюю часть (подвал или же footer), а так же те самые две колонки, из-за которых такой макет и называется 2 колоночным — это область для основного содержимого страницы (content) и область левой колонки макета на Div-ах (left), в которой обычно располагаются элементы, облегчающие навигацию по сайту (меню и тому подобные вещи), реклама и многое другое.

В схематичном виде 2 колоночный макет на основе Div верстки будет выглядеть так:

Макет сайта на блочной DIV верстке в 2 колонки

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

Базовые элементы структуры любого HTML кода

Для начала вам нужно будет создать и сохранить в текстовом редакторе Notepad++ или же в специализированном веб-редакторе (Dreamweaver) два пустых файла index.html и style.css. Начнем, естественно, с написания HTML кода в файле index.html. Вы уже, наверное, знаете, что в любом HTML файле присутствуют исходные обязательные элементы, которые выглядят примерно так:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Базовые элементы структуры любого HTML кода</title>
</head>
<body>
 </body>
</html>

Как не печально, но на страницах данного блога я еще не успел рассказать об основах построения HTML документов, поэтому придется отвлечься и вкратце пробежаться по элементам этого обязательного кода в файлах HTML:

  • строка !DOCTYPE служит для указания типа данного документа HTML (бюрократия в действии). Эти строки будут разными для разных версий HTML. Сейчас используется в основном версия HTML 4.01, но и для этой версии возможно несколько вариантов строки !DOCTYPE:
    • Строгий HTML 4.01
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
      При выборе этого варианта вам придется строго следить за соответствием вашего HTML кода спецификациям, в противном случае, вы увидите на странице браузера не совсем то, что планировали
    • Переходный HTML 4.01
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      Это вариант строки !DOCTYPE является более демократичным и лояльным к ошибкам вебмастера, он попытается понять, что вы хотели сделать и не будет учитывать огрехи в коде HTML, поэтому переходный вариант HTML 4.01 использовать предпочтительней
  • Открывающий тег HTML (<html>) ставится всегда в начале HTML документа, сразу после строки !DOCTYPE. Закрывающий тег HTML (</html>)ставится в самом конце HTML файла. Он как бы заключает в себя весь HTML код файла.
  • Весь HTML код документа внутри открывающего и закрывающего тегов HTML (<html> и </html>) разбивается еще на две группы, заключенные в открывающие и закрывающие теги HEAD и BODY:
    • Сразу после открывающего тега HTML ставится открывающий тег HEAD (<head>), затем может идти текст или же специальные теги, с помощью которых формируется, так называемый, заголовок HTML документа. В конце обязательно ставится закрывающий тег HEAD (</head>). Что примечательно, содержимое тега HEAD не отображается непосредственно на странице в браузере.
      • строка
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

        , заключенная между открывающим и закрывающим тегом HEAD, позволяет подсказать браузеру, в какой именно кодировке русского языка сохранен этот HTML файл. В нашем случае указана кодировка UTF-8, но так же довольно распространенной является еще и кодировка Windows-1251. Вообще, с помощью тегов META (мета тегов) в заголовке HTML документа (между открывающим (<head>) и закрывающим (</head>) тегами HEAD) кроме кодировки русского языка обычно еще добавляют ключевые слова документа (keywords), например:

        <meta name="keywords" content="блочная верстка, div верстка">

        или описание документа (description), например:

        <meta name="description" content="Основы блочной верстки (DIV верстки) -  Как работают сайты, повышение безопасности нашего сайта, структура HTML кода, создание простого двух-колоночного макета на дивах">
        и многое другое.
      • строка
        <title>Базовые элементы структуры любого HTML кода</title>
        определяет заголовок страницы (TITLE) , создаваемой с помощью этого HTML документа. Вы можете видеть содержимое тега TITLE в самом верху окна вашего браузера.
        Где отображается содержимое тега TITLE в окне браузера
        Содержимое этого тега TITLE имеет очень большое значение для поисковых систем. Это самый весомый критерий в распределении страниц различных сайтов в поисковой выдаче (подробнее читайте об этом в статье — Внутренняя оптимизация сайта. Обращайте на содержимое тега TITLE особое внимание. О том, как настроить правильное формирование тега TITLE для сайтов на Joomla и WordPress вы можете почитать здесь —
    • Сразу после закрывающего тега HEAD (т.е. сразу после заголовка HTML документа) следует открывающий тег BODY (<body>). Внутри этого тега BODY должна располагаться вся содержательная часть HTML документа, которая будет в явной форме отображаться на веб страницах в браузере. Здесь допускается использование любых возможных HTML тегов, которые будут интерпретироваться браузером в видимые элементы веб страницы. В самом конце HTML документа, но перед закрывающим тегом HTML (</html>), должен будет обязательно стоять закрывающий тег BODY (</body>).

Думаю, что общую структуру HTML документа хорошо визуализирует следующий рисунок:
Наглядное представление структуры HTML документа
Ну, вот пришлось очень существенно отвлекаться на объяснения важных моментов, встреченных в ходе начала рассказа о блочной верстке (DIV верстки), да так, что в этой статье места на рассказ о создании 2 колоночного макета на дивах (DIV) уже и не осталось места. Но, думаю, что ничего страшного не произойдет, если мы продолжим в следующей статье, посвященной блочной верстке.

Постараюсь не затягивать с выходом этой статьи и если вас заинтересовала данная тема, то советую вам подписаться на новостную ленту моего блога через RSS или же посредством E-mail. В этом случае, вы не пропустите вторую статью по теме основ блочной верстки на дивах.

Можете также посмотреть видео «div верстка, блочная верстка, HTML и CSS»:


У Евгения Попова имеется видекурс по PHP+MySQL, который стоит того, чтобы с ним ознакомиться.

Можете посмотреть бесплатные видеоуроки по Html и CSS, а так же можете ознакомиться с другими статьями:

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Робот считает, что Вам это тоже может быть интересно:
Очень обяжете, если воспользуетесь этим блоком кнопок:
RSS
Получать обновления по почте
Рубрика : Блочная DIV верстка
Наверх


Комментарии
1-04-2010 в 11:36

charset=utf-8

я бы сделал оговорку для новичков, а именно для тех, кто будет размещать сайт на Narod.ru — чарсет должен быть windows-1251

charset=windows-1251

А начало про div верстку очень хорошее. Спасибо.

Videotutor

1-04-2010 в 20:47

Прочитав статью, не мог пройти мимо опечаток:

1. «Так вот, этоМ файл скорей всего уже есть у вас в корневой папке сайта.»

2. «(шапку или же heder

3. «в какой именно кодировкИ русского языка сохранен этот HTML файл»

Overmort

2-04-2010 в 0:15

Videotutor: пожалуйста.

Overmort: спасибо, поправил.

Дмитрий

2-04-2010 в 15:09

Честно говоря, статья не соответствует названию. Если уж речь идет о дивовой (DIV) верстке, то ожидал рассказ о ней, а не ответвления о html с подробным описанием.

Алексей

5-04-2010 в 23:27

Алексей: да, частично вы правы. Я как раз, на это сетовал по ходу статьи, что не получилось даже частично начать разбирать основной материал, т.к. очень сильно пришлось отвлечься на околотематичные детали. Извините, если кого это расстроило, но я обязуюсь так сильно не отвлекаться в следующей статье из этого цикла, посвященного блочной DIV верстке.

Дмитрий

19-04-2010 в 10:56

Когда будет продолжение Div верстки?

Когда перейдёте к делу?

Истомилась вся в ожиданиях. :)

Ольга

25-04-2010 в 15:51

Спасибо!!! Крайне полезная статья по верстке на div.

Но хочу сказать, небольшой отпечаток:

«Как не печально, но на страницах данного БОГА»

Исправьте, в середине поста :)

Петр

25-04-2010 в 16:11

Петр: спасибо, поправил.

Дмитрий

5-07-2010 в 2:45

Спасибо за Ваши статьи)

Такой вопрос:

где то встречала что нужно вставлять Options All –Indexes,а у Вас Options -Indexes,как правильно, в чем отличие? Спасибо!

Ирина

14-09-2010 в 15:50

«Для каждого расположенного на сервере сайта отводится своя папка, которая прочно связывается с доменным именем сайта при помощи DNS серверов (подробнее про хостинг, домены и DNS читайте в этой серии статей — Доменное имя и хостинг для вашего будущего сайта). Так вот, браузер будет искать по указанному в адресной строке пути (корневой папка вашего сайта, в адресной строке будет соответствовать доменному имени вашего сайта) именно файл под названием index.html или index.php.»

Неверное утверждение что браузер ищет эти файлы. На самом деле сервер при обращении к нему по доменному имени смотрим настройки сайта и возвращает страницу, которая задана по умолчанию. Слово index не является единственным по умолчанию(есть еще Default). Так что в принципе можно задать любую страницу для возвращения по умолчанию.

Vladimir

6-11-2010 в 15:32

Vladimir: спасибо за замечание, учтем.

Дмитрий

11-11-2010 в 3:07

Что это за прикол? причем тут основы div и метатеги? ничего полезного здесь извлечь нельзя, тема вообще не соответствует своему названию и даже ничуть его не затрагивает, поэтому считаю что эта статья полнейший бред.

Евгений

11-11-2010 в 3:14

Евгений: вы, наверное не внимательно читали — это вступительная статья к серии, посвященной Div верстке.

Дмитрий

20-12-2010 в 22:28

Благодаря вашим статьям буду изучать блочную верстку. Сайты создаю уже довольно давно, но всегда использовал паблик шаблоны. Сейчас же понял, что без хорошего знание HTML в сайтостроении не обойтись. Хорошо, что раньше посчастливилось выучить основы HTML, PHP, и немножко CSS, а то даже не знаю, что бы я сейчас делал :)

Вообщем, спасибо за ваши статьи.

Just-SEO.RU

6-01-2011 в 10:22

Спасибо за статью.

Вопрос: Разве сейчас поисковые роботы обращают внимание на meta name = «keywords»? Например, я читал, что уже давно роботы на этот заголовок не смотрят.

Павел

13-01-2011 в 10:50

Да, сколько комментариев, столько и мнений. Дело в том, что все мы имеем разные познания в той или иной области. Для кого-то эта статья не дала ничего нового, а для кого-то «открыла глаза» и дала толчок для понимания, быть может, элементарной вещи. Понятие таковой, часто даёт лавинообразное понимание более серьёзных и трудных «заковык».

Я считаю, что статья очень нужная для новичков. Особенно понятно и наглядно графическое объяснение структуры тегов HTML, HEAD и BODY. В своё время и долго не мог этого понять.

А то, что именно ЭТА статья не соответствует заявленной теме, нет ничего страшного, т.к. эти «элементарные» знания помогут новичкам понять более сложные понятия в будущем.

А для автора хотелось бы посоветовать собрать эти ценные статьи, структурировать и издать электронную книгу по созданию сайтов.

Стас

8-04-2011 в 8:43

В целом статья хорошая... Но в некоторых пунктах допущены грубые ошибки.

Вот к примеру пункт «Как браузер работает с файлами сайта, почему особое значение придается файлам index.html и index.php, как обеспечить безопасность сайта» меня ранил до глубины души.

1. «браузер будет искать по указанному в адресной строке пути» — браузер ничего не ищет, он посылает запрос серверу предоставить ему некоторую страницу, не более того. А вот поиск уже выполняет поиск и возвращает либо запрашиваемую страницу, либо сообщение об ошибке.

2. «http://ktonanovenkogo.ru» — должен содержать в конце слэш («http://ktonanovenkogo.ru/») браузер его доставляет сам, но это слэш обозначает корневой каталог сайта. Без этого слэша вы попадете неизвестно куда.

3. «именно файл под названием index.html или index.php» — это отчасти не верно, поскольку названия этих файлов, которые являются индексными для всех без исключения каталогов на сайте задаются в настройках сервера и могут быть любыми. Приведенные вами варианты — это лишь общепринятые названия.

PS Прошу прощения за ворчливость, возможно вы писали для новичков и старались все упростить, но все же впредь постарайтесь не допускать столь очевидных ошибок, чтобы не вводить читателей в заблуждение.

Ярослав

5-05-2011 в 13:28

Хорошая статья, автору спасибо))

Олег

11-07-2011 в 16:43

Отличная статья для новичка, и отклонения от главного, так же хорошо, статья для новичков, а «зубры» могут не отвлекаться. Очень полезная статья. Спасибо.

mag

12-09-2011 в 12:32

Очень полезная статья для новичков. Прежде всего тем, что автор действительно обращает внимание и дает базовую информацию по «общеизвестным и общепонятным» «мелочам» для людей с достаточными опытом и знаниями, но не для начинающих. И вместе с тем не впадает в излишние подробности и детали (ведь не учебник же, а какой-то учебник ты должен перед этим уже и прочитать и попробовать на практике что-то сделать, пусть на том же Народе), которые и любой начинающий уже должен как-то знать. А получается прекрасное руководство по созданию сайта — отличный справочный материал для тех, кто от случая к случаю пытается начать все-таки сделать свой сайт.

Ну, а какие-то оговорки, опечатки — какое это по-сути имеет значение? Я вот, например, вышел на этот сайт ища информацию, как сделать часть страницы блоком? У всех в разных руководствах все начинается с того, что у вас уже есть какой-то блок и давайте, начинаем с ним работать. А как этот кусок страницы выделить и обозначить как блок, об этом ни слова. Видимо, вещь элементарная, а я вот уже два дня как застрял на этом. Может быть тут найду ответ. А автору большое спасибо — очень хорошо излагает.

Сергей

13-09-2011 в 10:40

Олег, mag, Сергей: спасибо большое за ваши отзывы. Удачи вам и вашим проектам.

Дмитрий

20-10-2011 в 20:44

Lika: Так в этом-то и есть весь смысл! Жамкайте на рекламу! А то Дмитрий уже с основного места работы ушёл — бабло-то и так само в руки плывёт, особливо с таким видом размещения рекламных строк!

А тут вы — уберите рекламу... ;)

Overmort

20-10-2011 в 23:24

Да я, в общем, не против рекламы, куда же нам без нее в 21-ом веке-то, но против ее маскировки под основной текст :)

Lika

27-01-2012 в 8:49

Идеальная статья для новичков

Amitycove

Написать

(обязательно)

(обязательно)

Ваш комментарий
Заключайте PHP и другой код в теги [php][/php]

Это не спам.

Подписаться без комментирования