Как сохранить: активный стиль css после нажатия элемента
Я использую якорь в качестве навигации по сайту.
CSS
#nav { margin-left: 50px; margin-top: 50px; text-transform: uppercase; } .navitem { background: #333; color: white; width: 230px; height: 50px; font-size: 25px; line-height: 50px; padding-left: 20px; -webkit-user-select: none; -moz-user-select: none; user-select: none; margin-top: 10px; } .about:hover { background: #cc00ff; } .about:active { background: #ff00ff; color: #000; width: 250px; } .works:hover { background: #0066FF; } .works:active { background: #0099cc; color: #000; width: 250px; }
Мне интересно, как сохранить стиль элемента div в активном состоянии один раз после щелчка, пока я не нажму на другой элемент навигационной панели, и как это сделать?
- Что такое синтаксис RTF для гиперссылки?
- Редактирование гиперссылок и якорей в PDF с помощью ITextSharp
- Как ссылаться на метод в javadoc?
- Пример использования гиперссылки в WPF
- html ссылки не работают (с использованием base href)
- Как я могу сделать ссылку на клики в NSAttributedString?
- Изменить цвет текста в тексте TextView и щелкнуть?
- Откройте внешние ссылки в браузере с веб-браузером Android
- Использование jQuery для программного перехода по ссылке
- Найти имя пакета для приложений Android, чтобы использовать Intent для запуска приложения Market из Интернета
- Как создать прямую ссылку на любую коробку fancybox
- C # regex pattern для извлечения URL-адресов из заданной строки - не полный URL-адрес html, но также и ссылки
- Может ли Google Chrome открывать локальные ссылки?
Объединение JS & CSS:
button{ /* 1st state */ } button:hover{ /* hover state */ } button:active{ /* click state */ } button.active{ /* after click state */ } jQuery('button').click(function(){ jQuery(this).toggleClass('active'); });
Селектор :target
-pseudo сделан для таких ситуаций: http://reference.sitepoint.com/css/pseudoclass-target
Он поддерживается всеми современными браузерами. Чтобы получить некоторые версии IE, чтобы понять это, вы можете использовать что-то вроде Selectivizr
Ниже приведен пример вкладок :target
-pseudo selector.
Вы можете использовать немного Javascript для добавления и удаления classов CSS ваших навигационных элементов. Для начала создайте class CSS, который вы собираетесь применить к активному элементу, назовите его: «.activeItem». Затем добавьте функцию javascript для каждого из кнопок навигации onclick, которое добавит class activeItem к активированному и удалит из других …
Он должен выглядеть примерно так: (непроверенный!)
/*In your stylesheet*/ .activeItem{ background-color:#999; /*make some difference for the active item here */ } /*In your javascript*/ var prevItem = null; function activateItem(t){ if(prevItem != null){ prevItem.className = prevItem.className.replace(/{\b}?activeItem/, ""); } t.className += " activeItem"; prevItem = t; }
Я ПОНЯЛ. ПРОСТОЙ , ЭФФЕКТИВНЫЙ NO jQUERY
Мы собираемся использовать скрытый флажок.
Этот пример включает в себя один «щелчок мышью», зависающий / активный «состояние»,
–
Чтобы сделать сам контент кликабельным:
HTML
CSS
#activate-div{display:none} .my-div{background-color:#FFF} #activate-div:checked ~ label .my-div{background-color:#000}
Чтобы изменить содержание кнопки:
HTML
//MY DIV CONTENT
CSS
#activate-div{display:none} .my-div{background-color:#FFF} #activate-div:checked + .my-div{background-color:#000}
Надеюсь, поможет!!
Если вы хотите, чтобы ваши ссылки выглядели так :active
class, вы должны определить :visited
class такой же, как :active
поэтому, если у вас есть ссылки в .example
вы делаете что-то вроде этого:
a.example:active, a.example:visited { /* Put your active state style code here */ }
Связанный канал Pseudo Class используется для выбора посещенных ссылок, как указано имя.