поступила задача сделать как на картинку для пк
необходимо чтобы при наведении изменялся задний фон и появлялся текст относящийся к элементу. всего 9 элементов.
в мобильной версии должно выглядеть как на картинке ниже
в мобильной версии мне понятно. Тут унас аккордеон.
проблема: Я не знаю как реализовать десктоп вариант.
Его необходимо реализовать таким образом, чтобы потом в мобильную версию в аккордеон переделать было легко, не создавая заново для мобильного этот дизайн (если возможно).
Верстаю бутстрапом 3, канвас не знаю, CSS3 средний уровень, js начальный, пользуюсь готовыми скриптами jquery.
Подскажите путь.
п.с. небольшой образец и дайте направление кто знает.
Вот заготовочка:
* {
box-sizing: border-box;
font: 12px sans-serif;
margin: 0;
padding: 0;
}
:root {
--bg: #f00;
--angle: 0deg;
--radius: 300px;
--inner-radius: 160px;
--digit-radius: 45px;
}
div > b {
position: absolute;
display: block;
width: 0px;
height: 0px;
border: solid var(--bg) var(--radius);
border-radius: var(--radius);
clip-path: polygon(50% 0%, 100% 0%, 50% 50%);
transform: rotate(var(--angle));
transform-origin: 50% var(--radius);
z-index: 1;
}
div > b::after {
position: relative;
display: block;
top: -350px;
left: -60px;
width: calc(var(--digit-radius) * 2);
height: calc(var(--digit-radius) * 2);
border-radius: calc(var(--digit-radius) * 2);
background: #fff;
padding: calc(var(--digit-radius) * 0.7) 0 0 calc(var(--digit-radius) * 0.7);
content: var(--digit);
transform: rotate(calc(360deg - var(--angle)));
transform-origin: 50% 50%;
font-size: 40px;
text-align: center;
line-height: calc(var(--digit-radius) * 2);
color: var(--bg);
z-index: 3;
}
div > p {
padding: calc(var(--inner-radius) * 0.4);
width: calc(var(--inner-radius) * 2);
height: calc(var(--inner-radius) * 2);
border-radius: calc(var(--inner-radius));
margin: calc(- var(--inner-radius));
background: #fff;
position: absolute;
left: calc(var(--radius) - var(--inner-radius));
top: calc(var(--radius) - var(--inner-radius));
visibility: hidden;
z-index: 2;
}
div > b:hover {
opacity: .7;
}
div > b:hover + p,
p:hover {
visibility: visible;
}
<div><p style="visibility: visible;">text 0</p></div>
<div style="--bg: #f00; --angle: 0deg; --digit: '1';"><b></b><p>text 1</p></div>
<div style="--bg: #0f0; --angle: 45deg; --digit: '2';"><b></b><p>text 2</p></div>
<div style="--bg: #00f; --angle: 90deg; --digit: '3';"><b></b><p>text 3</p></div>
<div style="--bg: #ff0; --angle: 135deg; --digit: '4';"><b></b><p>text 4</p></div>
<div style="--bg: #0ff; --angle: 180deg; --digit: '5';"><b></b><p>text 5</p></div>
<div style="--bg: #f0f; --angle: 225deg; --digit: '6';"><b></b><p>text 6</p></div>
<div style="--bg: #4c4; --angle: 270deg; --digit: '7';"><b></b><p>text 7</p></div>
<div style="--bg: #44c; --angle: 315deg; --digit: '8';"><b></b><p>text 8</p></div>
Просчитать паддинги для каждой цифры, разместить дополнительные картинки, а также пересчитать с 8 на 9 секций — вам домашнее задание. Общий принцип построения должен быть понятен.
Тестировалось в Firefox. Возможно, в других браузерах потребует префиксов.
Вам необходимо использовать селектор в CSS, все делается достаточно просто и аккуратно. Псевдокласс :hover (при наведении курсора применяется необходимый стиль) http://htmlbook.ru/css/hover
css clip-path вот этим можно сделать. всем спс.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день, подскажите пожалуйста, как можно перевести в секунды (секунды с 1 января 1970 года) форматы дат типа 00:56:20 1110
Нужно заполнить editor-stylecss
Почему кнопки которые находятся в одном блоке с блоком логотипа, ложатся под него? Мне нужно что бы кнопки были на уровне лого, а не под ним