В этой статье рассмотрим установку накопителей на жестких дисках. В частности, рассмотрим их конфигурацию и физическую установку.

Для того чтобы установить в компьютер жесткий диск, необходимо проделать следующие действия:

  • настроить накопитель;
  • настроить контроллер или интерфейсное устройство;
  • установить накопитель в корпус компьютера;
  • настроить систему в целом для распознавания диска;
  • выполнить логическое разделение диска;
  • выполнить высокоуровневое форматирование разделов или томов.

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

Если все-таки, вы решите ознакомиться с документацией, то компания-сборщик предоставит вам только ограниченную информацию об этом устройстве. Как правило, полную документацию нужно искать и загружать с сайта производителя устройства. То же самое относится к другим устройствам большинства систем, которые сегодня представлены на рынке.

Конфигурация жесткого диска

Перед тем как преступить к монтажу жесткого диска, его нужно сконфигурировать. IDE накопители чаще всего требуют установки переключателя «ведущий–ведомый» или так же можно использовать вариант Cable Select и 80-жильный шлейф.

Для настройки жестких дисков Serial ATA эти перемычки устанавливать не нужно. Бывают случаи, что все же накопители имеют такие перемычки, установленные непосредственно на заводе.

Жесткие диски SATA подключаются к контроллеру SATA с помощью кабеля, образуя, соединение типа «точка–точка».

В отличие от жестких дисков на основе параллельного интерфейса АТА (устаревший вариант), накопители SATA не имеют ни ведущих, ни ведомых устройств. На картинке показано, что некоторые накопители SATA имеют перемычки для разрешения совместимости. В современных жестких дисках со скоростью передачи данных 300/150 Мбит/с для переключения в более медленный режим, который необходим для корректной работы старым контроллерам, нужно переставить перемычку. Из соображений совместимости с драйверами и прочим программным обеспечением большинство контроллеров может работать в «режиме совместимости», в котором эмулируется конфигурация “ведущий–ведомый”, но физически этот режим не реализован.

Конфигурация контроллера жесткого диска

Контроллер жестких дисков в старых моделях устанавливается в разъем системной платы. Все накопители, разработанные в последнее время IDE и SATA, имеют встроенный контроллер на системной плате. Практически всегда контроллер устройств ATA интегрирован в материнскую плату и конфигурируется с помощью программы установки параметров BIOS. В таком случае обособленного контроллера не существует. Некоторые системы в дополнение к интегрированному контроллеру могут иметь контроллер на карте расширения. Эта ситуация может произойти тогда, когда интегрированный контроллер не поддерживает более быстрые режимы обмена данными (300 Мбит/с для SATA и 133 Мбит/с для PATA), свойственные для новых жестких дисков.

В таких случаях, не нужно прибегать к установке контроллера в системную плату, лучше обновить саму системную плату, так вы получите дополнительные функциональные возможности и потратитесь немногим больше.

Бывают и такие случаи, когда добавление платы контроллера имеет смысл, например, новый диск SATA «подвешивается» на старую материнскую плату, на которой нет этого контроллера.

Контроллеры на платах расширения требуют определенной комбинации следующих системных ресурсов:

  • адрес Boot ROM (не обязательно);
  • прерывание (IRQ);
  • канал прямого доступа к памяти (DMA);
  • адрес порта ввода-вывода.

Не все контроллеры используют каждый из этих ресурсов, но есть и такие. В большинстве случаев современные контроллеры и системы, поддерживающие технологию Plug ang Play, автоматически конфигурируются базовой системой ввода-вывода компьютера и операционной системой. Система выделяет такие ресурсы, которые не приводят к конфликтам с другими устройствами компьютера.

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

Драйвер интерфейса ATA является частью стандартной системы BIOS компьютера и позволяет загружаться с устройств PATA и SATA. В таких системах, содержащих интерфейс SATA на материнской плате, драйвер этого интерфейса также встроен в BIOS. BIOS обеспечивает функциональность устройства, которая нужна системе для доступа к диску, прежде чем она сможет загрузить с него какой-либо файл.

Заметьте!

Несмотря на то, что операционная система (ОС) Windows поддерживает стандартные драйверы IDE/ATA, интерфейс этого типа обычно встраивается в компоненты южного моста или контроллера ввода-вывода набора микросхем системной платы и требует загрузки специальных драйверов. При использовании системной платы, которая является более новой, чем версия вашей ОС (например, новая системная плата, приобретенная в 2010 году, которая работает в операционной среде Windows XP), убедитесь в том, что сразу же после установки Windows были инсталлированы драйверы набора микросхем, поставляемые вместе с материнской платой. Если контроллер поддерживает интерфейс SATA в режиме ACHI (Advanced Host Controller Interface) или RAID-массив SATA (Redundant Array of Independent Disks — избыточный массив независимых дисков), а на компьютере установлена система Windows XP или более ранняя версия, как правило, для установки требуется драйвер, находящийся на дискете или предварительно записанный на установочный диск Windows.

Имейте в виду, что все эти драйверы входят в комплект установки Windows Vista и 7. Если контроллер старше устанавливаемой операционной системы, необходимые драйверы, скорее всего, будут входить в состав установочного компакт-диска. В то же время всегда рекомендуется поискать в Интернете свежую версию драйвера контроллера и установить ее сразу же после операционной системы.

Бывают контроллеры SATA которые имеют свою BIOS, поддерживающую ACHI, RAID, большие диски или другие функции. Если данными функциями вы пользоваться не собираетесь или BIOS материнской платы сама имеет эту поддержку, тогда использовать BIOS контроллера необязательно. Многие контроллеры на картах расширения имеют переключатели, перемычки или программы поддержки, позволяющие включать и отключать поддержку BIOS.

В дополнение к функциям загрузки BIOS контроллера обеспечивает и другие функции, такие как:

  • конфигурирование RAID-массива;
  • конфигурирование контроллера;
  • диагностику.

Если система BIOS контроллера включена, для ее размещения необходимо адресное пространство в области верхней памяти (UMA), занимающей последние 384 Кбайт в пределах первого мегабайта системной памяти. Верхняя память разделена на три участка по два сегмента размером по 64 Кбайт, при этом первый участок отводится для памяти видеоадаптера, а последний - для системной BIOS. Сегменты C000h и D000h зарезервированы для BIOS адаптеров, в частности для контроллеров жестких дисков и графических контроллеров.

Заметьте!

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

Монтаж накопителей на жестких дисках

Накопители на жестких дисках монтируются в корпусе компьютера. Для этого нужны соответствующие винты, кронштейны, лицевая панель и т.д.

Для монтажа некоторых накопителей потребуются пластмассовые направляющие, которые крепятся к устройству с двух сторон и позволяют установить его в соответствующее место в корпусе.

Эти направляющие должны прилагаться к корпусу компьютера или к жесткому диску при покупке.

Поскольку устройства PATA и SATA применяют разные типы кабелей, проверьте, соответствует ли кабель контроллеру и диску. Для применения режима PATA с быстродействием 66 Мбит/с и более быстрых (вплоть до 133 Мбит/с) понадобится 80-жильный кабель. Так же его рекомендуется использовать и при более низких скоростях передачи данных, таких как 33 Мбит/с и меньше. Для определения, какой у вас кабель (40- или 80-жильный), посчитайте бугорки на шлейфе - каждый бугорок соответствует одной жиле. Одним из характерных признаков 80-жильного шлейфа является окраска его штекеров: вставляемый в материнскую плату окрашен в синий цвет, а вставляемые в ведущее и ведомое устройства - в черный и серый соответственно.

Если вы планируете установить 3,5-дюймовый жесткий диск в 5,25-дюймовую раму, вам потребуется другой тип монтажных накладок. Большинство 3,5-дюймовых дисков имеют такие накладки в комплекте.

Также они могут входить в комплект корпуса.

Заметьте!

Необходимо подобрать длину соединительного кабеля (шлейфа). В некоторых случаях кабель не достает до нового жесткого диска. Попытайтесь переместить его в расположенный ближе отсек, или воспользуйтесь более длинным кабелем. Длина кабеля накопителя IDE ограничена 45 см, чем короче, тем лучше. Однако в комплекте некоторых корпусов можно встретить более длинные кабели, вплоть до 67см, к тому же имеющие 80 жил. Длинные кабели, особенно имеющие нестандартную, ‘‘округленную’’ длину, применять не рекомендуется, особенно это касается дисков со скоростью передачи данных 133 Мбит/с. Использование слишком длинных кабелей вызывает ошибки времени передачи и ослабление сигнала, возможно также искажение данных на диске. Если вы используете шлейф длиннее 45 см, то, как говорится, сами создаете себе проблемы.

После распаковки нового жесткого диска у вас должно оказаться в наличии следующее:

  • само устройство;
  • программное обеспечение (не обязательно);
  • монтажные накладки и винты.

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

Монтаж жесткого диска ATA (PATA)

Для монтажа жесткого диска ATA нужно выполнить следующие действия:

1. Посмотрите, есть ли в компьютере незадействованный 40-жильный разъем IDE. С процессором Pentium в компьютер можно установить четыре устройства IDE (по два на каждый канал).

Совет!

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

2. Обратите внимания, как кабель подключен к накопителю. Красный провод силового кабеля подключается к первому контакту разъема накопителя. Несмотря на то, что штекер имеет специальный ключ от неправильного подключения к жесткому диску, его легко можно неверно подключить, что приведет к выходу из строя устройство.

Первый контакт шлейфа чаще всего ориентируют ближе к разъему питания устройства. На шлейфе есть специальный ключ для правильного подключения к устройству.

Совет!

Запомните, что современным жестким дискам ATA для работы в скоростных режимах Ultra-DMA (66-133 Мбит/с) необходим 80-жильный кабель, его же можно использовать и для подключения старых устройств. 40-жильный кабель можно использовать для подключения устройств с быстродействием 33 Мбит/с и более медленных. Плюсом 80-жильного кабеля является то, что на устройствах придется установить только перемычку CS (Cable Select), и не нужно выбирать, какое из устройств будет ведущим, а какое ведомым. На сегодня, ATA-подключение уже встречается довольно редко, все современные жесткие диски подключаются через SATA интерфейс.

3. Установите переключатели Master/Slave/Cable Select на задней стенке жесткого диска. При использование 80-жильного кабеля, достаточно установить на всех устройствах перемычку Cable Select. В противном случае одно из устройств, подключенное к шлейфу, должно быть ведущим (Master), а другое - ведомым (Slave). Обратите внимание, что некоторые устаревшие устройства при их применении в качестве ведущих в паре с другим ведомым, требуют одновременной установки перемычек Master и Slave. Но сегодня, вряд ли вам попадутся такие жесткие диски вам в руки.

4. Поместите накопитель в 3,5-дюймовый отсек шасси и с помощью винтов закрепите его. При выполнении этой операции нельзя прилагать значительных механических усилий - накопитель должен свободно становиться на свое место в корпусе.

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

5. К задней части накопителя присоедините интерфейсный кабель. Если используется 80-жильный кабель, синий штекер должен быть вставлен в разъем материнской платы, черный - в гнездо ведущего устройства, а серый (обычно он средний) - в гнездо ведомого.

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

На этом монтаж жесткого диска с интерфейсом ATA завершен.

Рассмотрим подключение жестких дисков SATA.

Монтаж жестких дисков SATA

Пошаговая процедура инсталляции жесткого диска SATA несколько отличается от установки дисков АТА.

1. Проверьте, имеются ли в системе неиспользуемые разъемы SATA.

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

3. Подключите кабель данных SATA к контроллеру SATA. Кабели данных могут объединяться в одной оболочке с силовым кабелем SATA. При использовании отдельного кабеля данных, один разъем подключается к накопителю, а другой - к контроллеру SATA.

4. Подключите к накопителю соответствующий силовой кабель. Некоторые устройства SATA имеют два силовых разъема: стандартный 4-контактный и специальный 15-контактный - в этом случае подайте питание на любой из них (но не на два одновременно). Если устройство имеет только 15-контактное гнездо подключения питания, а блок питания не предлагает такой штекер, придется дополнительно приобрести специальный адаптер «4 в 15» (если он не входит в комплект устройства).

Подключение питания через специальный адаптер «4 в 15»

Внимание! Если устройство одновременно имеет 2 гнезда питания (стандартное, 4-контактное, и SATA-типа, 15-контактное), ни в коем случае не подавайте питание на оба разъема одновременно, иначе можете повредить устройство.

Конфигурация системы

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

В системах Windows 2000, XP, Vista и 7 используется команда . Их можно найти на загрузочном компакт-диске операционной системы. Если на новый диск будет устанавливаться операционная система, его разделение и форматирование будут выполнены как часть общего процесса установки ОС.

Если хотите, можете сформировать разделы и выполнить форматирование вручную до установки операционной системы, но для этого придется использовать специальные программы. Проще это сделать во время установки системы и ее средствами.

Автоматическое определение типа жесткого диска

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

И так, приступим.

1. Включите компьютер и нажмите клавишу, необходимую для входа в настройки BIOS, как правило, это Delete или F1. Если в BIOS предусмотрено автоматическое определение устройств, рекомендуется установить именно этот режим, так как будут определены оптимальные параметры устройства. Устройства SATA могут также иметь поддержку режима ACHI и группировки нескольких устройств в RAID-массив. Установите параметр ACHI для дисков SATA, если он поддерживается, и выйдите из программы настройки BIOS.

2. Перезагрузите систему. Если установленное устройство не является загрузочным, и вы работаете под управлением Windows XP или более поздней версии этой ОС, новый накопитель будет автоматически определен в процессе загрузки, и для него будут установлены необходимые драйверы. Следует заметить, что система не будет видеть новое устройство как том (т.е. ему не будет присвоена буква), пока не будут созданы разделы диска и выполнено их форматирование.

Если новое устройство является загрузочным, придется снова загрузиться с компакт-диска, чтобы создать на новом диске разделы, выполнить форматирование и установить на нем операционную систему. Если материнская плата поддерживает SATA в режиме ACHI или RAID-массивы SATA и вы работаете под управлением Windows XP или более ранней версии этой ОС, для установки устройства придется воспользоваться дискетой с драйверами контроллера или переписать эти драйверы на установочный диск Windows или воспользоваться флоппи-дисководом. В противном случае, система не распознает жеского диска и процесс установки системы будет не возможен.

Отмечу, что все необходимые драйвера уже интегрированы в новые операционные системы Windows Vista и 7, и при их установке, проблем с определением контроллера жесткого диска не возникает.

Определение типа накопителя вручную

Если в компьютере установлена системная плата, которая не поддерживает функцию автоматического определения, вам придется вводить соответствующие сведения в BIOS вручную. В BIOS доступно несколько стандартных комбинаций, однако они, скорее всего, устарели, так как обеспечивают поддержку накопителей объемом всего несколько сотен мегабайтов, а то и меньше. Чаще всего вам придется выбрать пользовательский тип жесткого диска, а затем указать значения следующих параметров:

  • количество цилиндров;
  • количество головок;
  • количество секторов на дорожку.

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

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

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

В зависимости от производителя BIOS и ее версии вам предоставляется возможность настроить и другие параметры жесткого диска, в частности режим передачи данных и адресацию логических блоков.

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

Оптические приводы и жесткие диски могут работать в одном из трех режимов: "Master", "Slave" и "Cable select". Если на первых для выбора режима необходимо переставить всего один джампер, то на вторых - нередко два или три. У дисков стандарта SATA также имеются перемычки, но предназначены они для другого.

Инструкция

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

Ознакомьтесь с изображениями на наклейке. В случае, если у вас жесткий диск с интерфейсом IDE, на этой наклейке обычно приведены три схемы расположения джамперов: для режимов "Master", "Slave" и "Cable select". Иногда имеется и четвертый рисунок, показывающий, как поставить перемычки для того, чтобы искусственно сократить объем накопителя до 32 гигабайт (это бывает необходимо для работы со старыми материнскими платами). В операционной системе Linux использовать этот режим обычно не требуется даже при использовании таких плат, поскольку эта ОС работает с жесткими дисками напрямую.

Сами перемычки найдите на той же боковой стенке, что и разъемы. Определить, где у поля для установки джамперов находится верх, можно по ориентирам, которые обычно также показаны на рисунке. Таким ориентиром может быть, например, отсутствующий вывод.

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

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

Когда на одном шлейфе расположены два устройства (неважно, жесткие диски или оптические приводы), следует либо на одном из них выбрать режим "Master", а на другом - "Slave", либо на обоих выбрать режим "Cable select".

У накопителей с интерфейсом SATA режимы "Master" и "Slave" отсутствуют. Джамперы у них предназначены для других целей. Наиболее распространены перемычки для снижения скорости обмена данными с 3 до 1,5 гигабит в секунду. Они предназначены для обеспечения совместимости жесткого диска со старыми материнскими платами. Иногда встречаются джамперы, управляющие режимом энергосбережения. Их назначение практически всегда указано на наклейке привода.

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

Не читайте спецификации

Зайдите в комнату, наполненную веб-дизайнерами, и спросите их: «Кто любит читать спецификации?» Возможно, вы увидите одну поднятую руку. (Если этот человек – вы, то я горжусь вами и свободным временем, которое у вас есть, по всей видимости.) Пусть они и представляют собой важный справочник, я определенно не получаю удовольствия от чтения спецификаций целиком и не рекомендую заниматься этим, чтобы полностью постигнуть CSS3.

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

W3C (World Wide Web Consortium. Прим. перев. ) объясняет модульный подход так:

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

Преимущество для нас, веб-дизайнеров, в том, что одновременно с экспериментированием и ускоренным циклом релизов приходит возможность использовать многие свойства CSS3, не дожидаясь, пока они получат статус кандидат в рекомендации (Candidate Recommendation. Прим. перев. ) – возможно, это произойдет годы спустя.

Но, разумеется, если вам нравится читать спецификации – вперед! Естественно, из них можно многому научиться – но намного прагматичнее сконцентрироваться на том, что уже внедрено и может быть использовано сегодня, и об этих вещах мы поговорим в этой главе. Затем мы будем применять эти вещи на конкретных примерах.

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

Из книги Журнал «Компьютерра» № 36 от 3 октября 2006 года автора Журнал «Компьютерра»

ЧИТАЙТЕ В СЛЕДУЮЩЕМ НОМЕРЕ: ЧИТАЙТЕ В СЛЕДУЮЩЕМ НОМЕРЕ Репортаж с крупнейшего IT-события осени: новейшие процессоры Intel и беспроводной USB, терабайтные суперкомпьютеры-на-чипе и забота о пожилых людях по-новому, PCI Epress 2.0, лазеры, топливные элементы и даже программируемая

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.7.1 Спецификации В описании можно использовать следующие спецификации:спецификация-описания: спецификация-класса-памяти спецификация-типа спецификация-fct спецификация-шаблона-типа friend typedefспецификации-описания: спецификации-описания opt спецификация-описанияСамая

Из книги Журнал PC Magazine/RE №08/2009 автора Журнал «PC Magazine»

R.7.1.2 Спецификации функций Некоторые спецификации можно использовать только в описании функций.спецификация-fct: inline virtualСпецификация inline подсказывает транслятору, что необходимо произвести подстановку тела функции вместо обычной реализации вызова функции. Подсказка

Из книги Журнал PC Magazine/RE №10/2009 автора Журнал «PC Magazine»

R.7.4 Спецификации связи С помощью спецификации-связи можно связать (§R.3.3) фрагменты программ на C++ и на другом языке:спецификация-связи: extern строка-литерал { список-описаний opt } extern строка-литерал описаниесписок-описаний: описание список-описаний описаниеТребуемое

автора Реймонд Эрик Стивен

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Читайте в следующих номерах Гид покупателя: Выбираем коммуникаторСводный тест: Тестирование цветных лазерных МФУСделай сам: Строим собственную ферму рендерингаОперационные системы: Новые средства управления энергопотреблением в Windows 7PC Magazine/RE:

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Читайте в следующих номерах Сводный тест: Тестирование неттоповЛучшие из лучших: Программы: коллекция 2009Разработка ПО: Темизация в CMS DrupalПроблемы и решения: Советы и секретыPC Magazine/RE:

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Из книги XSLT автора Хольцнер Стивен

17.4. Спецификации - ДНК, код - РНК Даже в давние времена PDP-7 Unix-программисты всегда (больше чем их коллеги, работающие с другими системами) были склонны рассматривать старый код как непригодный к повторному использованию. Это, несомненно, было продуктом Unix-традиции,

Из книги C++ для начинающих автора Липпман Стенли

Опасность излишней спецификации Почему так плохо использовать конкретное представление в качестве спецификации?Можно напомнить результаты изучения Линцем (Lientz) и Свенсоном (Swanson) стоимости сопровождения. Было установлено, что более 17% стоимости ПО приходится на

Из книги автора

4.12 Сети по спецификации 802 После того как DIX Ethernet и другие технологии локальных сетей доказали на компьютерном рынке свою полезность, IEEE организовала комитет 802 по разработке и публикации стандартов для технологий локальных сетей.Стандарты из серии 802, объединяющие

Из книги автора

Из книги автора

Спецификации W3C W3C выпускает спецификации как для XML, так и для XSL, и именно с ними мы будем работать на протяжении всей книги. Спецификации W3C не называются стандартами, поскольку, по международным соглашениям, стандарты могут создаваться только уполномоченными

Из книги автора

Из книги автора

19.2.6. Спецификации исключений С помощью спецификации исключений (см. раздел 11.4) в объявлении функции указывается множество исключений, которые она может возбуждать прямо или косвенно. Спецификация позволяет гарантировать, что функция не возбудит не перечисленные в ней

Моя предыдущая статья «Чего я ждал от HTML5 и CSS3» затронула достаточно щекотливую тему, но не ответила на вполне резонный вопрос, а что я предлагаю взамен. Поэтому мне в голову пришла идея сделать общественную спецификацию CSS, которая будет отражать современные тенденции развития web-технологий и требования к будущему функционалу. Я приглашаю всех поучаствовать в разработке нашей собственной версии спецификации. Если популярность ее будет достаточно высокой, ее могут принять все разработчики браузеров, а от этого выиграют и web-разработчики, и пользователи.

Первый механизм, который я представляю вашему вниманию называется «направляющие»

Направляющие

Цель данного механизма - упростить управление позиционированием элементов относительно друг друга. Табличное представление данных не позволяет создавать потоковые структуры, когда неизвестно количество элементов в строке, и элементы нужно переносить на следующую строку при изменении ширины контейнера. Строчные блоки (inline-block) не позволяют формировать автоматически подстраиваемые по высоте или ширине блоки. Именно эти проблемы и будет решать механизм направляющих.

Определение направляющих

Направляющие являются блочными элементами нулевой высоты или ширины, в зависимости от типа: горизонтальные или вертикальные. Нельзя управлять ни шириной, ни высотой направляющих, они занимают всегда 100% от ширины или высоты элемента. Направляющие могут иметь margin, padding, border, background, что позволит создавать определенные стилистические приемы.

Описание направляющих

Направляющие имеют специфическое поведение даже в рамках текущего CSS стандарта. Привязка их описания к конкретному элементу не позволит гибко управлять отображением в сложных случаях. Я предлагаю немного расширить синтаксис CSS, чтобы развязать руки и не повторять ошибок текущей спецификации, и ввести локальные идентификаторы.
$rule1 { /* rule preferences */ }
$rule2 { ... }

Нельзя использовать уже существующие селекторы идентификатора и класса в качестве локальной переменной, так как имя направляющей используется только внутри CSS, и никогда не должно использоваться напрямую в HTML. Есть еще одна проблема, которая не позволяет использовать идентификаторы и классы, но про нее я расскажу позже.

rule-type
Существуют два типа направляющих: горизонтальные (horizontal) и вертикальные (vertical) . По умолчанию направляющие имеют тип horizontal
Значения свойства: horizontal || vertical
Значение по умолчанию: horizontal
rule-repeat
Это свойство управляет повторением направляющих. По умолчанию для направляющих отключен механизм повторения.
Значения свойства: none || repeat
Значение по умолчанию: none

Механизм повторения необходим для того, чтобы автоматически формировать несколько направляющих с одинаковыми свойствами и идентификацией. Свойство repeat применяется только тогда, когда для горизонтального типа направляющих указан margin-top или margin-bottom или padding-top или padding-bottom , а для вертикальных направляющих, соответственно margin-left или margin-right или padding-left или padding-right .

Количество горизонтальных направляющих рассчитывается по формуле
kh = containerHeight / (ruleMarginTop + rulePaddingTop + rulePaddingBottom + ruleMarginBottom)

Количество вертикальных направляющих рассчитывается по формуле
kv = containerWidth / (ruleMarginLeft + rulePaddingLeft + rulePaddingRight + ruleMarginRight)

Пример использования

$myRule {
rule-type: vertical;
rule-repeat: repeat;
margin-right: 10px;
margin-left: 20px;
padding-right: 50px;
}


rule
Для использования направляющих в некотором блоке используется директива rule
Значения свойства: $ruleID[ $ruleID]
Значение по умолчанию: none

Можно использовать одну или две переменные с направляющими разного типа. При использовании двух одинаковых типов направляющих данная директива не применяется.

Использование направляющих

После определения направляющих необходим механизм управления блоками. Для этого необходимо еще одно свойство snap-to , которое будет рассказывать элементам внутри блока с направляющими, как они должны взаимодействовать между собой.
snap-to
Значения свойства: || || none
Значение по умолчанию: none

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

Прилипание к краю аналогично поведению элемента с position: relative.

Я специально опущу более детальное поведение, так как это займет не одну страницу текста, и перейду к примерам

Примеры использования

Типичная задача - галлерея. Я знаю, что можно использовать inline-block, но добавив еще одну горизонтальную направляющую можно сделать аналог таблицы, что не получится сделать обычными средствами.

$rule1 { margin-top: 200px; rule-repeat: repeat; }
#gallery { rule: $rule1; }
#gallery div { snap-to: bottom }






Форма, у которой лейблы выровнены с формами по направляющей

$rule1 { margin-left; 150px; rule-type: vertical; }
#form { rule: $rule1; }
#form label { snap-to: right }
#form span { snap-to: left }








Трехколоночный макет можно сделать вот так:

$rule1 { margin-bottom; 100%; rule-repeat: repeat; }
#wrapper { rule: $rule1; }
#wrapper > div { snap-to: top($rule1) bottom($rule1) }

Заключение

У направляющих есть множество «белых пятен» в поведении, которые нужно исследовать, моделировать и изучать. Особенно это касается взаимоотношений прилипших элементов и обычного потока, прилипших и плавающих элементов, как должны себя вести элементы, если они прилипают к левому и нижнему краю сетки направляющих и так далее. Однако одно очевидно, что данный механизм не сильно изменяет уже действующие правила CSS2.1, а только дополняет их. Реализация направляющих, по моему мнению, гораздо более проста для разработчиков браузеров, чем реализация тех же темплейтов отображения в CSS3, а возможностей и динамики в моем способе больше.

Жду вашей критики, замечаний, дополнений.