.item-data > .price {
display: flex !important;
flex-direction: row-reverse;
justify-content: flex-end;
}
themeButton.value = (themeButton.value === "Темная тема") ? "Светлая тема" : "Темная тема";
<input type="button" value="Темная тема" class="themeButton">
на <button type="button" class="themeButton" data-light-text="Темная тема" data-dark-text="Светлая тема"></button>
.themeButton::before {
content: attr(data-dark-text)
}
body.darkTheme .themeButton::before {
content: attr(data-light-text)
}
.slick-active{ background-color: red; } /* Выбрать все активные слайды */
.slick-slide + .slick-active + .slick-active{ background-color: red; } /* Выбрать второй активный слайд */
:nth-of-type
<li>
. Поэтому это не прокатит. buildQuiz()
const quizContainer = document.getElementById('quiz');
const resultsContainer = document.getElementById('results');
const submitButton = document.getElementById('submit');
const myQuestions = [ { question: "Who invented JavaScript?", answers: { a: "Douglas Crockford", b: "Sheryl Sandberg", c: "Brendan Eich" }, correctAnswer: "c" }, { question: "Who can help us?", answers: { a: "Noone", b: "Specialists", c: "Youself" }, correctAnswer: "b" }, { question: "Which language can you use to write it?", answers: { a: "PHP", b: "Java Script", c: "CSS"}, correctAnswer: "b" } ];
const previousButton = document.getElementById("previous");
const nextButton = document.getElementById("next");
const slides = document.querySelectorAll(".slide");
showSlide
[data-text]{
position: relative;
}
[data-text]::before{
content: attr(data-text);
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
z-index: 1;
pointer-events: none;
text-transform: uppercase;
color: red;
font-weight: 900;
font-size: 50px;
}
[data-text] > *{
position: relative;
z-index: 2;
}
<section id="estate" class="section" data-text="Investment">
...
</section>
span.is-open::after {
display: none;
opacity: 0;
}
<div>
<input type="text" id="test">
<label for="test">Text</label>
</div>
div{
display: flex;
flex-direction: column;
}
label{ order: 1 }
input{ order: 2 }
input:focus + label{ background: red }
font-family: 'FontAwesome';
/* Все дочерние элементы этого flex-блока, которые находятся на одной горизонтали, становятся одной высоты */
.single-post__prod{ align-items: stretch; }
/* Карточка товара становится Флексом, в колонку. Чтобы можно было позиционировать её дочерние элементы */
.single-post__prod-item {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
}
.single-post__prod-item > * { width: 100% } /* все дочерние элементы чтобы были во всю ширину */
.single-post__prod-item img {
margin: 0 auto; /* заменил margin: auto */
}
.single-post__prod-weight,
.single-post__pricing{
margin-top: auto; /* Делаем так, чтобы этот блок и все блоки, которые ниже него, были прилеплены книзу */
}
.single-post__prod-weight + .single-post__pricing{
margin-top: 0; /* Если существует single-post__prod-weight, то у single-post__pricing margin-top убираем */
}
.gallery__item{ flex-shrink: 0; }
svg > use{ fill: red }
<img src="mysvg.svg" />
) значения атрибутов fill и stroke заменить на css-переменные.fill="var(--myColor1)" stroke="var(--myColor2)"
.myBlock{
--myColor1: red;
--myColor2: green
}
.myBlock:hover{
--myColor1: blue;
--myColor2: aqua
}
<img />
применил css-свойство image-rendering, подбирая для каждого браузера своё значение префиксами..slider__
я бы / поместил в отдельный <span />
.slider__current
и .slider__max
задал бы минимальную ширину (дав им inline-block, а лучше их контейнеру flex)..header
position: fixed
, я бы изначально дал position: sticky
. А уже классом .header_fixed
просто давал бы background
и box-shadow
.#MY_ELEMENT, #MY_ELEMENT *, #MY_ELEMENT *::before, #MY_ELEMENT *::after{
all: unset
}
display: block
font-size: 0;
line-height: 0;
<img />
изначально - display :inline-block