Новые книги

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

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

В основе книги опыт трех компаний, внедривших у себя SAP Business One. Их сомнения, желания, процесс внедрения и достигнутые результаты. Этот опыт, пропущенный через призму собственного понимания автора, известного в компьютерном мире специалиста в области компьютерной аналитики, превратился в простую, увлекательную и веселую книгу прочитав которую, вы избегнете множества типичных ошибок и сможете автоматизировать собственную компанию, по возможности перешагивая через уже известные вам грабли.
Безусловно, на жизнь каждого человека прямое влияние оказывает его окружение. Успешные люди отмечают, что большую часть окружающих их людей составляют такие же успешные люди. Книга «Неслучайные связи» написана с одной лишь целью: выявить пошаговые алгоритмы эффективного выстраивания связей человека. Кто-то скажет, что это дело случая, везения или вовсе удачи! «Оказаться в нужном месте в нужное время» – вот что часто нам приходится слышать. Да, отчасти это соответствует действительности, однако исследования показали, что лишь на 15 %. И наша главная задача – разобраться, в чем же секрет оставшихся 85 %. Книга написана для желающих систематизировать свои представления об отношениях между людьми, проанализировать свой социальный капитал и научиться двигаться к поставленным целям шаг за шагом.

2. Псевдо-классы и псевдо-элементы. Спецификация CSS1

 2. Псевдо-классы и псевдо-элементы. Спецификация CSS1

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

Псевдо-классы и псевдо-элементы могут использоваться в селекторах CSS, но они не существуют в исходном тексте HTML. Напротив, они "вставляются" UA в соответствии с некоторыми условиями. Их поведение можно описать с помощью фиктивной последовательности тэгов.

Псевдо-элементы используются для адресации подчастей элементов, в то время как псевдо-классы позволяют различать различные типы элементов.

2.1 Псевдо-классы ссылок

UA часто отображают недавно посещенные ссылки не так как не посещенные или посещенные давно.. В CSS1 эти ситуации обрабатываются с помощью псевдо-классов элемента 'A':

  A:link { color: red }       /* unvisited link */
  A:visited { color: blue }   /* visited links */
  A:active { color: lime }    /* active links */

Все элементы 'A' с атрибутом 'HREF' будут помещены в одну и только одну из этих групп (т.е. псевдо-классы не влияют на ссылки-якоря). UA могут по собственному усмотрению перемещать элемент из 'visited' в 'link' после некоторого периода времени. Ссылка типа 'active' - это ссылка, которая в данный момент выбрана (например нажатием на кнопку мыши) читателем.

Форматирование псевдо-класса ссылки происходит также, как если бы класс был указан вручную. UA не обязан переформатировать уже отображаемый документ при переходе ссылки из одного псевдо-класса в другой. Например таблица стилей может законно указывать, что 'font-size' ссылки типа 'active' должен быть больше, чем у ссылки типа 'visited', но UA не обязан динамически переформатировать документ, когда читатель выбирает ссылку типа 'visited'.

Селекторы псевдо-класса не соответствуют обычным классам и наоборот. Правило в следующем примере не будет оказывать никакого влияния:

  A:link { color: red }

  <A CLASS=link NAME=target5> ... </A>

В CSS1 псевдо-классы ссылок не оказывают влияния ни на один элемент, кроме 'A'. Поэтому тип элемента в селекторе можно опускать:

  A:link { color: red }
  :link { color: red }

Эти два селектора будут идентичны в CSS1.

Имена псевдо-классов не зависят от регистра.

Псевдо-классы могут использоваться в контекстных селекторах:

  A:link IMG { border: solid blue }

Псевдо-классы также могут комбинироваться с простыми классами:

  A.external:visited { color: blue }

  <A CLASS=external href="http://wm-help.net/other_site_redirect.php?http/out.side/" target="_blank" rel="nofollow">
                   external link</A>

Если ссылка в этом примере была посещена, то она будет синей. Обратите внимание, что имя обычного класса предшествует имени псевдо-класса в селекторе.

2.2 Типографские псевдо-элементы

Некоторые распространенные типографские эффекты связаны не со структурными элементами, а с элементами форматирования на холсте. В CSS1 определены два таких типографских элемента, которые можно адресовать с помощью псевдо-элементов: первая строка элемента и первая буква.

Ядро CSS1: UA могут игнорировать все правила с ':first-line' или ':first-letter' в селекторе, или поддерживать только подмножество свойств псевдо-элементов. (см. раздел 7)

2.3 Псевдо-элемент 'first-line'

Псевдо-элемент 'first-line' используется для применения особых стилей к первой строке элемента в соответствии с форматированием на холсте:

  <STYLE TYPE="text/css">
    P:first-line { font-style: small-caps }
  </STYLE>

  <P>The first line of an article in Newsweek.

В текстовом UA это могло бы быть отформатировано так:

  THE FIRST LINE OF AN
  article in Newsweek.

Фиктивная последовательность тэгов в этом случае такова:

  <P>
  <P:first-line>
  The first line of an
  </P:first-line>
  article in Newsweek.
  </P>

Концевой тэг 'first-line' вставляется в конец первой строки в соответствии с тем, как документ форматируется на холсте.

Псевдо-элемент 'first-line' может применяться только к блочным элементам.

Псевдо-элемент 'first-line' соответствует строчным элементам за некоторыми исключениями. Только следующие свойства могут быть применены к элементу 'first-line': свойства шрифтов (5.2), свойства цвета и фона (5.3), 'word-spacing' (5.4.1), 'letter-spacing' (5.4.2), 'text-decoration' (5.4.3), 'vertical-align (5.4.4), 'text-transform' (5.4.5), 'line-height' (5.4.8) и 'clear' (5.5.26).

2.4 Псевдо-элемент 'first-letter'

Псевдо-элемент 'first-letter' используется для создания эффекта буквицы, являющимся распространенным типографским эффектом. Он соответствует строчному элементу, если его свойство 'float' равно 'none', иначе он соответствует плавающему элементу. К псевдо-элементу 'first-letter' применимы следующие свойства: свойства шрифтов (5.2), свойства цвета и фона (5.3), 'text-decoration' (5.4.3), 'vertical-align (только если 'float' равно 'none', 5.4.4), 'text-transform' (5.4.5), 'line-height' (5.4.8), свойства границ (5.5.1-5.5.5), свойства отступов (5.5.6-5.5.10), свойства рамки (5.5.11-5.5.22), 'float' (5.5.25), 'clear' (5.5.26).

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

<HTML>
 <HEAD>
  <TITLE>Title</TITLE>
  <STYLE TYPE="text/css">
P              { font-size: 12pt; line-height: 12pt }
P:first-letter { font-size: 200%; float: left }
SPAN           { text-transform: uppercase }
  </STYLE>
 </HEAD>
 <BODY>
  <P><SPAN>The first</SPAN> few words 
  of an article in The Economist.</P>
 </BODY>
</HTML>

Если некий текстовый UA поддерживает псевдо-элемент 'first-letter' (что скорее всего не так), предыдущий пример мог бы быть отформатирован следующим образом:

  ___
   | HE FIRST few
   | words of an
  article in the
  Economist.

Фиктивная последовательность тэгов в этом случае выглядит так:

  <P>
  <SPAN>
  <P:first-letter>
  T
  </P:first-letter>he first
  </SPAN>
  few words of an article in the Economist.
  </P>

Обратите внимание, что тэг псевдо-элемента 'first-letter' заключает контент (т.е. первую букву), в то время как начальный тэг псевдо-элемента 'first-line' вставляется сразу после тэга элемента, к которому он применяется.

UA сам определяет, какие символы включаются в элемент 'first-letter'. Обычно кавычки, предшествующие первой букве, должны включаться:

  ||   /\    bird in
      /  \   the hand
     /----\  is worth
    /      \ two in
  the bush," says an
  old proverb.

Когда параграф начинается с другого знака пунктуации (например скобка) или других символов, которые не являются буквами (например цифры или математические знаки), псевдо-элементы 'first-letter' обычно игнорируются.

Некоторые языки могут иметь специфические правила, как обрабатывать определенные комбинации букв. В голландском, например, если слово начинается с "ij", то обе буквы считаются принадлежащими псевдо-элементу 'first-letter'.

Псевдо-элемент 'first-letter' может применяться только к блочным элементам.

2.5 Псевдо-элементы в селекторах

В контекстных селекторах псевдо-элементы допускаются только в конце селектора:

  BODY P:first-letter { color: purple }

Псевдо-элементы могут в селекторах комбинироваться с классами:

  P.initial:first-letter { color: red }

  <P CLASS=initial>First paragraph</A>

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

2.6 Множество псевдо-элементов

Можно комбинировать несколько псевдо-элементов:

  P { color: red; font-size: 12pt }
  P:first-letter { color: green; font-size: 200% }
  P:first-line { color: blue }

  <P>Some text that ends up on two lines</P>

В этом примере первая буква каждого элемента 'P' будет зеленой с размером шрифта 24pt. Остаток первой строки (в соответствии с форматированием на холсте) будет синим, в то время как весь остальной параграф будет красным. Предположив, что перенос строки произойдет перед словом "ends", фиктивная последовательность тэгов будет такова:

  <P>
  <P:first-line>
  <P:first-letter>
  S
  </P:first-letter>ome text that
  </P:first-line>
  ends up on two lines
  </P>

Обратите внимание, что элемент 'first-letter' находится внутри элемента 'first-line'. Свойства, установленные в 'first-line' будут унаследованы 'first-letter', но будут переопределены, если то же свойство установлено в 'first-letter'.

Если псевдо-элемент разрывает настоящий элемент должны быть сгенерированны дополнительные тэги в фиктивной последовательности тэгов. Например, если элемент SPAN длится дальше тэга </P:first-line>, должен быть сгенерирован дополнительный набор тэгов SPAN, т.е. фиктивная последовательность тэгов примет следующий вид:

  <P>
  <P:first-line>
  <SPAN>
  This text is inside a long
  </SPAN>
  </P:first-line>
  <SPAN>
  span элемент
  </SPAN>

назад | начало | вперед