Как сохранить: активный стиль 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 в активном состоянии один раз после щелчка, пока я не нажму на другой элемент навигационной панели, и как это сделать?

Объединение 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 используется для выбора посещенных ссылок, как указано имя.

  • Изменить цвет текста в тексте TextView и щелкнуть?
  • Facebook share link - можете ли вы настроить текст сообщения?
  • Связывание значения столбца в jqGrid с новой страницей с помощью GET
  • Как сделать кнопку похожим на ссылку?
  • jQuery отключить ссылку
  • Как добавить гиперссылку в JLabel
  • Редактирование гиперссылок и якорей в PDF с помощью ITextSharp
  • Scrapy: Следуйте ссылке, чтобы получить дополнительные данные элемента?
  • Interesting Posts

    Изменение размера с canvasом в jscrollpane в jsplitpane

    Отфильтровать сообщения Outlook с пустыми полями «Кому» и «Cc»

    Как вы развертываете приложения с угловыми углами?

    Добавьте «Просмотреть больше» в конце текстового просмотра после трех строк

    iPhone: обнаружение бездействия пользователя / время простоя с момента последнего касания экрана

    Перевод машинного кода в LLVM IR (parsingка / assembly X86_64.X86. ARM в бит-код LLVM)

    Действительно хорошие, плохие примеры тестовых данных UTF-8

    Доступ к веб-адресу через диалог запуска

    Как обеспечить соответствие hashCode () с equals ()?

    Возможно ли увидеть более 65536 строк в Excel 2007?

    Простой пример шифрования / расшифровки AES Java

    Как ограничить время использования профиля пользователя в Windows?

    Получение рабочего стола (не Metro) Skype для Windows 8

    Полиморфизм: зачем использовать «List list = new ArrayList» вместо «ArrayList list = new ArrayList»?

    Кодировка Base64 в Java

    Давайте будем гением компьютера.