div,
div p {
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease
}
div {
border: 1px solid #bababa;
display: block;
width: 155px;
height: 30px;
padding: 10px;
transition: all .3s ease
}
div p {
display: block;
position: relative;
margin: 0;
overflow-y: hidden;
height: 35px;
transition: all .3s ease
}
div p:after {
position: absolute;
top: 18px;
right: 30px;
content: ' ...';
}
div:hover {
height: 145px
}
div:hover p {
white-space: normal;
overflow: none;
height: 100%;
}
div:hover p:after {
display: none
}
white-space: nowrap;
<div>
<p>“Чайная коллекция” безалкогольный негазированный напиток,<br> “Зеленый чай с ароматом лимона” пастеризованный,075л</p>
</div>
div {
border: 1px solid gray;
display: block;
width: 155px;
height: 30px;
padding: 10px;
text-align: justify;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
transition: all 1s ease
}
div p {
margin: 0;
white-space: nowrap;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis
}
div:hover {
height: 90px
}
div:hover p {
white-space: normal;
overflow: none
}
const input = document.querySelector('#textLink');
const buttonSelector = '.link';
document.addEventListener('click', e => {
const button = e.target.closest(buttonSelector);
if (button) {
input.value = button.innerText;
}
});
document.querySelectorAll(buttonSelector).forEach(function(n) {
n.addEventListener('click', this);
}, e => input.value = e.currentTarget.textContent);
const parentSelector = '.parent';
const className = 'custom';
document.querySelectorAll(`${parentSelector} > .${className}`).forEach(n => {
n.classList.remove(className);
});
// или
for (const n of document.querySelector(parentSelector).children) {
n.className = n.className.replace(RegExp(`(^| )${className}(?= |$)`), '').trim();
}
.colors
вызывайте функцию пересчёта:$('.colors').on('click', '.color', function() {
$(this).toggleClass('checked');
calculate();
});
.colors .checked
и суммирование их data-price
:total += $('.colors .checked', this)
.get()
.reduce((acc, n) => acc + +n.dataset.price, 0);
<style>
div{font-weight: bold}
div::before {
content: attr(data-1);
font-weight: normal;
}
div::after {
content: attr(data-2);
font-weight: normal;
}
</style>
<div data-1="Вот он" data-2="текст!">
выделенный
</div>
25%+пробел+25%+пробел+25%+пробел+25%
в итоге дают больше 100% document.getElementById('block').style.cssText= `
opacity: 1;
border: 1;
color: black;
`