Основы работы с CSS

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

Разбить на страницы
Показывать лекцию целиком

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

Примеры:

  • В примере показано, как выделить гиперссылку в документе цветом.
    <html>
    <head>
    
    <style type="text/css">
    a:link {color: #808080}
    a:visited {color: #FFFF00}
    a:hover {color: #00FF00}
    a:active {color: #0000FF}
    </style>
    
    </head>
    
    <body>
    
    <p><a href="index.php">This is a link</a></p>
    <ol><b>Примечание:</b>
    <li><i>a:hover ДОЛЖЕН следовать в определении CSS после <b>a:link</b> и
      <b>a: visited!!</b></i></li>
    <li><i>a:active ДОЛЖЕН следовать в определении CSS после <b>a:hover!!</b></i></li>
    </ol>
    
    </body>
    </html>
  • В примере показано, как определить для гиперссылки другой стиль.
    <html>
    <head>
    <style type="text/css">
    a.color:link {color: #808000}
    a.color:visited {color: #008080}
    a.color:hover {color: #C0C0C0}
    
    a.size:link {color: #808000}
    a.size:visited {color: #008080}
    a.size:hover {font-size: 250%}
    
    a.background:link {color: #808000}
    a.background:visited {color: #008080}
    a.background:hover {background: #C0C0C0}
    
    a.family:link {color: #808000}
    a.family:visited {color: #008080}
    a.family:hover {font-family: sans-serif}
    
    a.line:link {color: #808000; text-decoration: none}
    a.line:visited {color: #008080; text-decoration: none}
    a.line:hover {text-decoration: line-through}
    </style>
    </head>
    
    <body>
    <p>Наведите курсор мыши на ссылки.</p>
    <p><b><a class="line" href="index.php">Меняем оформление текста у ссылки</a></b></p>
    <p><b><a class="size" href="index.php">Меняем размер у ссылки</a></b></p>
    <p><b><a class="background" href="index.php">Меняем цвет фона у ссылки</a></b></p>
    <p><b><a class="family" href="index.php">Меняем семейство шрифта у ссылки</a></b></p>
    <p><b><a class="color" href="index.php">Меняем цвет у ссылки</a></b></p>
    </body>
    
    </html>
  • В примере показано, как можно использовать псевдо-класс :first-child.
    <html>
    <head>
    <style type="text/css">
    a:first-child
    {
    text-decoration:underline
    }
    </style>
    </head>
    
    <body>
    <p>Посетите  <a href="http://www.intuit.ru">Intuit</a> там много бесплатных курсов</p>
    <p>Посетите <a href="http://www.intuit.ru">Intuit</a> 
       там есть бесплатные учебные программы</p>
    </body>
    
    </html>
  • В примере показано, как можно использовать псевдо-класс :lang.
    <html>
    <head>
    <style type="text/css">
    b:lang(fr)
    {
    quotes: "'" "'"
    }
    </style>
    </head>
    
    <body>
    <p>Просто текст<b lang="fr">Выделенный текст:</b> Сам текст.</p>
    </body>
    
    </html>
  • Синтаксис псевдо-классов:

    selector:pseudo-class {property: value}

    Классы CSS также можно использовать с псевдо-классами:

    selector.class:pseudo-class {property: value}

    Анкерные псевдо-классы

    Различные ссылки, на которые указывает курсор мыши, можно выводить различным образом в поддерживающих CSS браузерах:

    a:link {color: #808080 }     /* непосещенная ссылка*/
    a:visited {color: #008000 }  /* посещенная ссылка */
    a:hover {color: #008080 }   /* курсор мыши указывает на ссылку*/
    a:active {color: #00FF00 }   /* выбранная ссылка*/

    Примечания:

  • Чтобы иметь эффект, a:hover ДОЛЖЕН следовать в определении CSS после a:link и a:visited!!
  • Чтобы иметь эффект, a:active ДОЛЖЕН следовать в определении CSS после a:hover!!
  • Имена псевдо-классов не зависят от регистра символов.
  • Псевдо-классы и классы CSS

    Псевдо-классы можно объединять с классами CSS:

    a.silver:visited {color: #C0C0C0 }
    
    <a class="silver" href="index.php">Silver</a>

    Если ссылка в приведенном выше примере была посещена, она будет выводиться серебряным цветом.

    CSS2 - Псевдо-класс :first-child

    Псевдо-класс :first-child соответствует определенному элементу, который является первым потомком другого элемента.

    Примеры:

  • В данном примере селектор соответствует любому элементу h1, который является первым потомком элемента div, и делает отступ для первой строки первого параграфа внутри элемента div:
    div h1:first-child
    {
     text-indent:50px
    }

    Этот селектор будет соответствовать первому параграфу внутри div в следующем коде:

    <div>
    <h1>
    Первый заголовок в div.
    Имеет отступ первой строки.
    </h1>
    <h1>
    Второй заголовок в div.
    Не имеет отступа.
    </h1>
    </div>

    но он не будет соответствовать параграфу в следующем коде HTML:

    <div>
    <p>
    Параграф внутри div.
    </p>
    <h1>Первый заголовок в div.
    Не имеет отступа.
    </h1>
    </div>
  • В данном примере селектор соответствует любому элементу strong, который является первым потомком элемента div, и задает font-style как italic для первого strong внутри элемента div:
    div:first-child strong
    {
    font-style: italic
    }

    В следующем коде HTML strong является первым потомком элемента div:

    <div>Изучайте -- <strong>язык программирования</strong> C++.</div>
  • В данном примере селектор соответствует любому элементу b, который является первым потомком любого элемента, и задает text-decoration как none:
    b:first-child
    {
    text-decoration: none
    }

    В следующем примере первый элемент b в коде HTML ниже является первым потомком параграфа и не будет подчеркиваться. Но второй элемент a в параграфе не является первым потомком параграфа и будет подчеркнут:

    <p>
    Посетите <b>www.intuit.ru</b> и выучите CSS!
    Посетите <b><a href="http://www.intuit.ru">www.intuit.ru</a></b> и выучите HTML!
    </p>
  • CSS2 - Псевдо-класс :lang

    Данный псевдокласс позволяет определить специальные правила для различных языков. В следующем примере класс :lang определяет тип кавычек для элементов b с атрибутом lang со значением "fr":

    <html>
    <head>
    <style type="text/css">
    b:lang(fr)
    {
    quotes: "'" "'"
    }
    </style>
    </head>
    <body>
    <p>Просто текст <b lang="fr">Выделенный текст</b>
    Остальной текст</p>
    </body>
    </html>

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

    Данные параметры поддерживаются следующими браузерами: Internet Explorer, Firefox, Netscape.

    Псевдо-классНазначениеIEFNW3C
    :active Добавляет специальный стиль активированному элементу 4 1 8 1
    :focus Добавляет специальный стиль элементу, когда элемент находится в фокусе - - - 2
    :hover Добавляет специальный стиль элементу, когда указатель мыши находится над элементом 4 1 7 1
    :link Добавляет специальный стиль непосещенной ссылке 3 1 4 1
    :visited Добавляет специальный стиль посещенной ссылке 3 1 4 1
    :first-child Добавляет специальный стиль элементу, который является первым потомком некоторого другого элемента 1 7 2
    :lang Позволяет автору определить используемый в заданном элементе язык 1 8 2
    Страницы:

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

    Примеры:

  • В примере показано, как выделить гиперссылку в документе цветом.
    <html>
    <head>
    
    <style type="text/css">
    a:link {color: #808080}
    a:visited {color: #FFFF00}
    a:hover {color: #00FF00}
    a:active {color: #0000FF}
    </style>
    
    </head>
    
    <body>
    
    <p><a href="index.php">This is a link</a></p>
    <ol><b>Примечание:</b>
    <li><i>a:hover ДОЛЖЕН следовать в определении CSS после <b>a:link</b> и
      <b>a: visited!!</b></i></li>
    <li><i>a:active ДОЛЖЕН следовать в определении CSS после <b>a:hover!!</b></i></li>
    </ol>
    
    </body>
    </html>
  • В примере показано, как определить для гиперссылки другой стиль.
    <html>
    <head>
    <style type="text/css">
    a.color:link {color: #808000}
    a.color:visited {color: #008080}
    a.color:hover {color: #C0C0C0}
    
    a.size:link {color: #808000}
    a.size:visited {color: #008080}
    a.size:hover {font-size: 250%}
    
    a.background:link {color: #808000}
    a.background:visited {color: #008080}
    a.background:hover {background: #C0C0C0}
    
    a.family:link {color: #808000}
    a.family:visited {color: #008080}
    a.family:hover {font-family: sans-serif}
    
    a.line:link {color: #808000; text-decoration: none}
    a.line:visited {color: #008080; text-decoration: none}
    a.line:hover {text-decoration: line-through}
    </style>
    </head>
    
    <body>
    <p>Наведите курсор мыши на ссылки.</p>
    <p><b><a class="line" href="index.php">Меняем оформление текста у ссылки</a></b></p>
    <p><b><a class="size" href="index.php">Меняем размер у ссылки</a></b></p>
    <p><b><a class="background" href="index.php">Меняем цвет фона у ссылки</a></b></p>
    <p><b><a class="family" href="index.php">Меняем семейство шрифта у ссылки</a></b></p>
    <p><b><a class="color" href="index.php">Меняем цвет у ссылки</a></b></p>
    </body>
    
    </html>
  • В примере показано, как можно использовать псевдо-класс :first-child.
    <html>
    <head>
    <style type="text/css">
    a:first-child
    {
    text-decoration:underline
    }
    </style>
    </head>
    
    <body>
    <p>Посетите  <a href="http://www.intuit.ru">Intuit</a> там много бесплатных курсов</p>
    <p>Посетите <a href="http://www.intuit.ru">Intuit</a> 
       там есть бесплатные учебные программы</p>
    </body>
    
    </html>
  • В примере показано, как можно использовать псевдо-класс :lang.
    <html>
    <head>
    <style type="text/css">
    b:lang(fr)
    {
    quotes: "'" "'"
    }
    </style>
    </head>
    
    <body>
    <p>Просто текст<b lang="fr">Выделенный текст:</b> Сам текст.</p>
    </body>
    
    </html>
  • Синтаксис псевдо-классов:

    selector:pseudo-class {property: value}

    Классы CSS также можно использовать с псевдо-классами:

    selector.class:pseudo-class {property: value}

    Анкерные псевдо-классы

    Различные ссылки, на которые указывает курсор мыши, можно выводить различным образом в поддерживающих CSS браузерах:

    a:link {color: #808080 }     /* непосещенная ссылка*/
    a:visited {color: #008000 }  /* посещенная ссылка */
    a:hover {color: #008080 }   /* курсор мыши указывает на ссылку*/
    a:active {color: #00FF00 }   /* выбранная ссылка*/

    Примечания:

  • Чтобы иметь эффект, a:hover ДОЛЖЕН следовать в определении CSS после a:link и a:visited!!
  • Чтобы иметь эффект, a:active ДОЛЖЕН следовать в определении CSS после a:hover!!
  • Имена псевдо-классов не зависят от регистра символов.
  • Псевдо-классы и классы CSS

    Псевдо-классы можно объединять с классами CSS:

    a.silver:visited {color: #C0C0C0 }
    
    <a class="silver" href="index.php">Silver</a>

    Если ссылка в приведенном выше примере была посещена, она будет выводиться серебряным цветом.

    CSS2 - Псевдо-класс :first-child

    Псевдо-класс :first-child соответствует определенному элементу, который является первым потомком другого элемента.

    Примеры:

  • В данном примере селектор соответствует любому элементу h1, который является первым потомком элемента div, и делает отступ для первой строки первого параграфа внутри элемента div:
    div h1:first-child
    {
     text-indent:50px
    }

    Этот селектор будет соответствовать первому параграфу внутри div в следующем коде:

    <div>
    <h1>
    Первый заголовок в div.
    Имеет отступ первой строки.
    </h1>
    <h1>
    Второй заголовок в div.
    Не имеет отступа.
    </h1>
    </div>

    но он не будет соответствовать параграфу в следующем коде HTML:

    <div>
    <p>
    Параграф внутри div.
    </p>
    <h1>Первый заголовок в div.
    Не имеет отступа.
    </h1>
    </div>
  • В данном примере селектор соответствует любому элементу strong, который является первым потомком элемента div, и задает font-style как italic для первого strong внутри элемента div:
    div:first-child strong
    {
    font-style: italic
    }

    В следующем коде HTML strong является первым потомком элемента div:

    <div>Изучайте -- <strong>язык программирования</strong> C++.</div>
  • В данном примере селектор соответствует любому элементу b, который является первым потомком любого элемента, и задает text-decoration как none:
    b:first-child
    {
    text-decoration: none
    }

    В следующем примере первый элемент b в коде HTML ниже является первым потомком параграфа и не будет подчеркиваться. Но второй элемент a в параграфе не является первым потомком параграфа и будет подчеркнут:

    <p>
    Посетите <b>www.intuit.ru</b> и выучите CSS!
    Посетите <b><a href="http://www.intuit.ru">www.intuit.ru</a></b> и выучите HTML!
    </p>
  • CSS2 - Псевдо-класс :lang

    Данный псевдокласс позволяет определить специальные правила для различных языков. В следующем примере класс :lang определяет тип кавычек для элементов b с атрибутом lang со значением "fr":

    <html>
    <head>
    <style type="text/css">
    b:lang(fr)
    {
    quotes: "'" "'"
    }
    </style>
    </head>
    <body>
    <p>Просто текст <b lang="fr">Выделенный текст</b>
    Остальной текст</p>
    </body>
    </html>

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

    Данные параметры поддерживаются следующими браузерами: Internet Explorer, Firefox, Netscape.

    Псевдо-классНазначениеIEFNW3C
    :active Добавляет специальный стиль активированному элементу 4 1 8 1
    :focus Добавляет специальный стиль элементу, когда элемент находится в фокусе - - - 2
    :hover Добавляет специальный стиль элементу, когда указатель мыши находится над элементом 4 1 7 1
    :link Добавляет специальный стиль непосещенной ссылке 3 1 4 1
    :visited Добавляет специальный стиль посещенной ссылке 3 1 4 1
    :first-child Добавляет специальный стиль элементу, который является первым потомком некоторого другого элемента 1 7 2
    :lang Позволяет автору определить используемый в заданном элементе язык 1 8 2
    Вернуться к учебному плану