Я создаю страницу для работы, в которой есть раздел, где содержимое должно динамически меняться при нажатии кнопки (ов). Я знаю несколько разных способов сделать это, но все они связаны с тем или иным видом javascript. Мои возможности в настоящее время не включают сценарий написания для этого сайта, поэтому я исследую, есть ли способ сделать это с помощью JUST css, прежде чем сообщать менеджеру моего проекта, что одному из наших парней javascript придется его обрабатывать. Итак, кто-нибудь знает какие-нибудь классные методы CSS, которые могут получить желаемый эффект?Есть ли способ динамически изменять контент без javascript?
ответ
Возможно, вы можете использовать CSS :target
pseudo-class selector. Это потребует замены вместо кнопок a
элементов, которые заставляют URL вашего документа применять хэш, относящийся к атрибуту id
элемента, который вы хотите изменить.
div {
display: none;
}
:target {
display: block;
}
<a href="#foo">Click here to show the hidden <code>div</code> element</a><br>
<a href="#">Click here to hide it again</a>.
<div id="foo">This should only show when the link is clicked.</div>
Я не думаю, что есть какой-нибудь способ, чтобы непосредственно изменять содержимое с помощью CSS, так как предполагает его название, это специально для стиля. Извините, я не знаю никаких трюков. Я не думаю, что CSS на самом деле является подходящим способом сделать это, потому что это не хорошая организация кода (хотя сеть пока не известна хорошей организации кода). Это должно быть очень просто, чтобы ударить javascript, поэтому я рекомендую просто сделать это самостоятельно, если это вообще возможно. Изменение содержимого нажатием кнопки действительно не является сложной проблемой javascript. Бросьте в некоторый jquery, и вы также можете получить слабые переходы.
HTML не предназначен для динамических, это просто формат документа, более или менее. Я не думаю, что CSS был разработан для большого динамизма, просто изменяя стили на определенных событиях. Поэтому я думаю, потому что изменение содержания не меняет стиль, это либо невозможно, либо не очень красивый способ сделать это.
Удачи вам!
I% 100 согласны, что это неправильный способ пойдите об этом, это больше для целей прототипа, интерактивного макета типа вещи, дыма и зеркал и тому подобного. Похоже, для этого есть приличные хаки, но, как упоминалось в предыдущих двух ответах. Причина, по которой я пытаюсь избежать javascript, заключается не в том, что я не знаю, как его использовать, потому что компания, с которой я работаю, очень плотно связана с тем, какие типы возможностей редактирования имеют люди, и они не хотят, чтобы какой-либо добавленный скрипт (даже небольшая сумма), которая не проходит через парней js, поэтому я просто вижу, есть ли способ сделать это без js – tganyan
Звучит неплохо. Вы меня немного волновались, теперь я чувствую себя намного лучше! – Dan
Да, вы можете использовать динамический контент без какого-либо языка сценариев, но ваши варианты очень ограничены. Как предложил Джеймс, вы используете CSS. Одним из распространенных способов является использование флажков и метки для контроля видимости элементов. Вы используете это, чтобы создавать простые игры, меню вкладок и многое другое.
Отличный учебник с примерами вы можете попробовать это на http://css-tricks.com/the-checkbox-hack/, но в сущности, вы могли бы сделать что-то вроде этого: (из учебника)
input[type=checkbox]:checked ~ div {
background: red;
}
Обратите внимание, что у вас есть: проверили имущество, а также общий селектор в этом примере. Вы можете получить гораздо более сложный.
Проверьте игру CSS Panic, которая использует эту же функцию.
- 1. Есть ли способ динамически изменять размер виджета?
- 2. Есть ли способ динамически изменять контент в блоках Twig без обновления страницы?
- 3. Есть ли способ динамически редактировать контент, отображаемый в WebView?
- 4. Использует partials лучший способ динамически изменять контент в RoR?
- 5. Есть ли способ получить контент CRX без использования OSGI
- 6. Есть ли простой способ редактировать/изменять UILocalNotification
- 7. Есть ли способ в Yii2 динамически изменять URL без перезагрузки? часть от pjax
- 8. Как я могу динамически изменять контент-контент Flickable?
- 9. Как динамически изменять высоту Javascript
- 10. Javascript динамически изменять SRC изображений
- 11. Есть ли способ задержать/организовать загрузку страницы без javascript?
- 12. Есть ли способ обрезать отображаемый контент active_admin?
- 13. Можно ли динамически изменять функцию?
- 14. Как динамически изменять URL-адрес на html без использования JavaScript?
- 15. Есть ли способ динамически изменить цвет значка?
- 16. Есть ли способ установить параметры Highchart динамически?
- 17. Есть ли способ динамически модифицировать закрытие функции в JavaScript?
- 18. Есть ли способ изменить значение свойства объекта динамически? JavaScript
- 19. Есть ли способ динамически удалить или отключить файл JavaScript?
- 20. Есть ли способ динамически дать анонимной функции имя в javascript?
- 21. В JavaScript есть ли способ получить контент-тип URL-адреса без получения всего файла?
- 22. есть способ динамически изменять значение и отображение тега select в javascript?
- 23. Kohana: пытается динамически изменять контент (не всю страницу)
- 24. Как динамически изменять текст с помощью javascript
- 25. Как динамически изменять контент с помощью php ajax и mysql
- 26. Есть ли способ динамически обновлять пункт назначения?
- 27. Есть ли способ добавить поведение (ы) динамически?
- 28. Есть ли способ вычислить параметр атрибута динамически?
- 29. Есть ли способ удалить слово динамически?
- 30. Есть ли способ динамически менять ручку стрелки?
Спасибо, это довольно скользкий (хотя CSS не будет моим первым выбором для этой функциональности в рабочей среде NORMAL, это хороший метод, чтобы быть в курсе тем не менее) – tganyan