HTML/CSS
Checkboxes and bowser’s Back Button
March 20, 2023Работая над сайтом с фильтром продуктов я столкнулся с багом: при нажатии на кнопку “назад” в браузере я попадал на предыдущую страницу с фильтром, но все отмеченные в фильтре чекбоксы с текущей страницы переносились на предыдущую, хотя этого быть не должно. Я столкнулся с этой проблемой только в Firefox, но, как пишут другие люди, это встречается и во всех других браузерах.
Чтобы браузер не переносил отмеченные чекбоксы при нажатии на кнопку “Назад”, к чекбоксу нужно добавить параметр autocomplete=”off”
<input type="checkbox" name="checkbox" autocomplete="off" />
Ответ я нашёл вот тут.
Тут могла быть ваша реклама.
Колонки и содержимое
November 7, 2022
ul {
column-count: 4;
}
li {
-webkit-column-break-inside: avoid;
page-break-inside: avoid; /* Makes effect only in Firefox */
break-inside: avoid; /* IE10+, Opera 11.1—12.1 */
}
Пример без стилей для <li>:
-
- Item 1
- Item 2
- Item 3
- Item 4
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
Пример со стилями для <li>:
-
- Item 1
- Item 2
- Item 3
- Item 4
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
Тут могла быть ваша реклама.
Адаптивный popup на все случаи жизни
March 7, 2021Данный попап открывается при добавлении к элементу #popup класса .open. Непосредственно сам попап – это элемент с классом .popup_block, а обёртка нужна, чтобы затемнять страницу при его открытии и для выравнивания попапа по центру страницы, а если он не будет помещаться в окно (например на мобильных устройствах) то будет появляться вертикальный скролл.
HTML
<div id="popup" class="popup-bg">
<div class="popup__container">
<div class="popup__block">
<div class="popup__close"></div>
</div>
</div>
</div>
CSS
.popup__close {
position: absolute;
top: 10px;
right: 10px;
display: block;
width: 25px;
height: 25px;
cursor: pointer;
z-index: 10;
}
.popup__close::before,
.popup__close::after {
content: '';
position: absolute;
top: 50%;
left: -3px;
display: block;
width: 27px;
height: 2px;
background-color: #9ea1a7;
}
.popup__close::before {
transform: translate(0,-2px) rotate(45deg);
}
.popup__close::after {
transform: translate(0,-2px) rotate(-45deg);
}
.popup-bg {
opacity: 0;
pointer-events: none;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0,0,0,.8);
z-index: 99;
transition: .3s all;
}
.popup-bg.open {
opacity: 1;
pointer-events: auto;
}
.popup__container {
width: 100%;
max-height: 100%;
overflow-y: auto;
margin: 0 auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.popup__block {
position: relative;
margin: 0 auto;
width: 100%;
max-width: 500px;
padding: 40px 15px 20px;
}
Script
document.querySelector('.open-popup-button').addEventListener('click',function(){
document.querySelector('#popup').classList.add('open');
});
document.querySelector('.popup__close').addEventListener('click',function(){
document.querySelector('#popup').classList.remove('open');
});
Тут могла быть ваша реклама.