цвет переопределяется и все же текстовое оформление в css - PullRequest
2 голосов
/ 23 октября 2019

Я пробовал псевдокод для тега привязки в css, то есть ссылка, посещение, наведение и актив. Html:

    <a href="https://www.w3schools.com/html/" target="_blank">
        w3school
    </a>

и css:

    a:link {
        color: blue;
        text-decoration: overline underline;
    }

    a:visited {
        color: green;
        text-decoration: line-through;
    }

    a:hover {
        color: red;
        text-decoration: underline;
    }

    a:active {
        color: black;
        text-decoration: overline;
    }

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

Ответы [ 2 ]

2 голосов
/ 23 октября 2019

Браузеры в наши дни ограничивают, какие стили вы можете применять для состояния :visited - потому что в противном случае проверка на наличие определенных изменений в макете с помощью JavaScript позволяет определить, посещали ли вы уже внешний URL-адрес.

https://developer.mozilla.org/en-US/docs/Web/CSS/:visited#Styling_restrictions:

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

Допустимый CSSСвойства: цвет, цвет фона, цвет границы, цвет границы снизу, цвет границы слева, цвет границы справа, цвет границы верхнего цвета, цвет правила столбца и цвет контура.

https://developer.mozilla.org/en-US/docs/Web/CSS/Privacy_and_the_:visited_selector:

Примерно до 2010 года селектор CSS: посещенные позволял веб-сайтам раскрывать историю просмотров пользователя и выяснять, какие сайты он посещал. Это было сделано с помощью window.getComputedStyle и других методов. Этот процесс был выполнен быстро и позволил не только определить, где пользователь находился в Интернете, но также мог быть использован для получения большой информации о личности пользователя.

0 голосов
/ 23 октября 2019

Текстовое оформление linethrough отклоняет overline и underline, когда они объявлены отдельно. Поэтому я предлагаю изменить ваш код следующим образом.

a:link {
    color: blue;
    text-decoration: overline underline;
}

a:visited {
    color: green;
    text-decoration: line-through overline underline;
}

a:hover {
    color: red;
    text-decoration: underline;
}

a:active {
    color: black;
    text-decoration: overline;
}
...