<input type="checkbox" />
и привязка CSS-свойств к этому состоянию. Пример:<input type="checkbox" id="wrapTrigger" />
<div class="wrap">
<p>Любой контент</p>
<label for="wrapTrigger" class="button">Нажми меня</label>
<p>Любой контент</p>
</div>
<style>
#wrapTrigger {
display: none;
}
.wrap {
color: red;
}
input:checked + .wrap {
color: blue;
}
</style>
.wrap
располагался сразу после input
, иначе не сработает CSS-селектор +
. HTML-элемент label
переносит эффект клика на указанный чекбокс (связь происходит через значения полей for
и id
). a {
color: var(--link-color);
}
.style1 {
--link-color: red;
}
.style2 {
--link-color: green;
}
<div class="block">
<img class="image">
</div>
.block {
position: relative;
overflow: visible;
}
.block .image {
position: absolute;
top: -100px;
right: 200px;
}
<div class="block">
<img class="image">
</div>
.block {
overflow: visible;
}
.block .image {
display: inline-block;
margin-top: -100px;
margin-bottom: -100px;
}
.block .image {
position: absolute;
width: 300px;
top: -100px;
right: 200px;
}
@media (max-width: 800px) {
.block .image {
width: 200px;
top: -50px;
right: 50px;
}
}
function replaceTag( element, newTag )
{
var elementNew = document.createElement( newTag );
elementNew.innerHTML = element.innerHTML;
Array.prototype.forEach.call( element.attributes, function( attr ) {
elementNew.setAttribute( attr.name, attr.value );
});
element.parentNode.insertBefore( elementNew, element );
element.parentNode.removeChild( element );
return elementNew;
}
.contents
установить значение line-height равным 0 и добавить него какой-нибудь элемент, у которого свойство display равно inline-block:.contents {
line-height: 0;
}
.contents:before {
content: "";
display: inline-block;
}
// Добавление link
$link = $('<link/>', {
rel: 'stylesheet',
href: 'путь...'
}).appendTo('head');
// Немного позже удаление ранее созданного link
$link.remove();
body
, а новое оформление задавать в том же файле стилей, но добавив к селекторам body.новыйКласс
:<html>
<head>
<script src="js/jquery.js"></script>
<style>
.content { color: black; } /* Обычное оформление */
body.otherStyle .content { color: red; } /* Новое оформление */
</style>
</head>
<body>
<div class="content">Lorem ipsum</div>
<button id="button">Поменять всё</button>
<script>
$('#button').click(function(event) {
// Нажатие кнопки будет добавлять класс, если его нет, и удалять его, если есть, тем самым включая/выключая другое оформление
$('body').toggleClass('otherStyle');
event.preventDefault();
});
</script>
</body>
</html>