Полностью обновил внешний вид блоков опросов на форуме: добавлены современные визуальные эффекты, улучшена читаемость, внедрены плавные анимации для кнопок и прогресс-бара, а также оптимизировано отображение количества голосов.
Дизайн сохраняет функциональность старых опросов, но при этом выглядит свежо и стильно. В теме можно обсудить идеи для дальнейших улучшений, предложить новые эффекты или цвета, а все ваши идеи будут реализованы моими руками.
CSS (Сразу между стилями прописано)
Код
<STYLE>
/* Контейнер опроса */ .cell-poll-title1 { border: 4px solid #853b97; /* рамка вокруг блока */ margin: 5px; /* внешний отступ */ padding: 15px 10px; /* внутренний отступ */ font-family: Verdana, Helvetica, Arial, sans-serif; /* шрифт */ font-size: 1rem; /* размер шрифта */ font-weight: bold; /* жирный текст */ color: #3d4152; /* цвет текста */ box-shadow: 5px 5px 0 0 #853b97; /* тень блока */ text-align: left; /* выравнивание текста по левому краю */ border-radius: 8px; /* скругление углов */ background: #fff; /* цвет фона */ }
/* Каждый ответ */ .answer { width: 100%; /* ширина */ margin-bottom: 15px; /* отступ снизу */ position: relative; /* относительное позиционирование */ font-size: 0.9rem; /* размер текста */ font-family: Verdana, sans-serif; /* шрифт */ }
/* Ссылки и результаты */ .cell-poll-link { margin-top: 8px; /* отступ сверху */ font-size: 0.7rem; /* размер текста */ color: #333; /* цвет текста */ } .cell-poll-link a { color: #853b97; /* цвет ссылок */ text-decoration: none; /* убираем подчеркивание */ margin: 0 3px; /* отступы между ссылками */ } .cell-poll-link a:hover { color: #642B73; /* цвет при наведении */ text-decoration: underline; /* добавляется подчеркивание */ }
/* Блок всех ответов */ .cell-poll-answers { margin-top: 10px; /* отступ сверху */ }
/* Каждый ответ (дублируется, с другими настройками) */ .answer { width: 100%; margin-bottom: 12px; position: relative; font-size: 0.75rem; /* размер текста меньше */ font-family: Verdana, sans-serif; }
/* Полоса прогресса (цветная полоска внутри ответа) */ .answer div div { height: 20px; /* высота полосы */ border-radius: 10px; /* скругленные углы */ background: linear-gradient(90deg, #75D0ED, #5BC254); /* градиент */ box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4), inset 0 2px 4px rgba(255,255,255,0.4); /* внутренняя тень */ width: 0; /* ширина изначально 0, потом увеличивается анимацией */ transition: width 1.5s ease-in-out; /* плавное заполнение */ }
/* Процент голосов */ .answer span { position: absolute; /* абсолютное позиционирование */ right: 6px; /* отступ справа */ top: 50%; /* середина по вертикали */ transform: translateY(-50%); /* выравнивание текста по центру полосы */ font-size: 0.65rem; /* маленький размер шрифта */ color: #000; /* черный текст */ font-weight: bold; /* жирный */ }
<script> var color_poll = [ "#ff4d4f","#fa0fcb","#F6954E","#dd8cd2","#75D0ED", "#5BC254","#CFC72D","#DD3344","#FE9B6F","#4176B3" ];
// Находим все полоски внутри блока ответов document.querySelectorAll('.cell-poll-answers .answer div div').forEach(function(el, i){ // Цвет полоски if(!color_poll[i]) color_poll[i] = '#F8F8F8'; el.style.background = color_poll[i];
// Берём процент из data-width или style.width var target = el.getAttribute('data-width') || el.style.width || '0%'; var percent = parseFloat(target);
// Масштабируем маленькие значения, чтобы полоска была заметнее var scale = 0.5; if(percent < 50) percent = 50 * scale + percent * (1 - scale);
// Устанавливаем ширину с небольшой задержкой для плавного эффекта setTimeout(function(){ el.style.width = percent + '%'; }, 100);
// Количество голосов из data-votes var votes = el.getAttribute('data-votes') || '0';
// Добавляем текст под полоской var info = el.closest('.answer').querySelector('.answer-info'); if(info) info.textContent = percent + '% (' + votes + ' голосов)'; }); </script>
Или это полная копия, которую можно просто вставить на сайт, если цель именно такая. Если же нужно использовать кусками, по отдельности, тогда смотрите другие варианты выше.
Код
<STYLE>
/* Контейнер опроса */ .cell-poll-title1 { border: 4px solid #853b97; /* рамка вокруг блока */ margin: 5px; /* внешний отступ */ padding: 15px 10px; /* внутренний отступ */ font-family: Verdana, Helvetica, Arial, sans-serif; /* шрифт */ font-size: 1rem; /* размер шрифта */ font-weight: bold; /* жирный текст */ color: #3d4152; /* цвет текста */ box-shadow: 5px 5px 0 0 #853b97; /* тень блока */ text-align: left; /* выравнивание текста по левому краю */ border-radius: 8px; /* скругление углов */ background: #fff; /* цвет фона */ }
/* Каждый ответ */ .answer { width: 100%; /* ширина */ margin-bottom: 15px; /* отступ снизу */ position: relative; /* относительное позиционирование */ font-size: 0.9rem; /* размер текста */ font-family: Verdana, sans-serif; /* шрифт */ }
/* Ссылки и результаты */ .cell-poll-link { margin-top: 8px; /* отступ сверху */ font-size: 0.7rem; /* размер текста */ color: #333; /* цвет текста */ } .cell-poll-link a { color: #853b97; /* цвет ссылок */ text-decoration: none; /* убираем подчеркивание */ margin: 0 3px; /* отступы между ссылками */ } .cell-poll-link a:hover { color: #642B73; /* цвет при наведении */ text-decoration: underline; /* добавляется подчеркивание */ }
/* Блок всех ответов */ .cell-poll-answers { margin-top: 10px; /* отступ сверху */ }
/* Каждый ответ (дублируется, с другими настройками) */ .answer { width: 100%; margin-bottom: 12px; position: relative; font-size: 0.75rem; /* размер текста меньше */ font-family: Verdana, sans-serif; }
/* Полоса прогресса (цветная полоска внутри ответа) */ .answer div div { height: 20px; /* высота полосы */ border-radius: 10px; /* скругленные углы */ background: linear-gradient(90deg, #75D0ED, #5BC254); /* градиент */ box-shadow: inset 0 -2px 4px rgba(0,0,0,0.4), inset 0 2px 4px rgba(255,255,255,0.4); /* внутренняя тень */ width: 0; /* ширина изначально 0, потом увеличивается анимацией */ transition: width 1.5s ease-in-out; /* плавное заполнение */ }
/* Процент голосов */ .answer span { position: absolute; /* абсолютное позиционирование */ right: 6px; /* отступ справа */ top: 50%; /* середина по вертикали */ transform: translateY(-50%); /* выравнивание текста по центру полосы */ font-size: 0.65rem; /* маленький размер шрифта */ color: #000; /* черный текст */ font-weight: bold; /* жирный */ }
Ахаха 😂 прям как дороги в деревне: где-то кусочек в километр, а где-то одна строка на 10 км растянулась 🚜💨 Но прикол в том, что движок uCoz вообще не напрягается , он такие «шоссе из символов» щёлкает как семечки 🌻⚡ Быстро, без нагрузки, и ещё, наверное, подмигивает типа: «Да это ж для меня вообще разминка!» 😎
Через 20 лет вы будете больше разочарованы теми вещами, которые вы не делали, чем теми, которые вы сделали. Так отчальте от тихой пристани. Почувствуйте попутный ветер в вашем парусе. Двигайтесь вперед, действуйте, открывайте!
Ахаха 😂 прям как дороги в деревне: где-то кусочек в километр, а где-то одна строка на 10 км растянулась 🚜💨 Но прикол в том, что движок uCoz вообще не напрягается , он такие «шоссе из символов» щёлкает как семечки 🌻⚡ Быстро, без нагрузки, и ещё, наверное, подмигивает типа: «Да это ж для меня вообще разминка!»
Сравнение получилось посредственным, а вот опросы выглядят довольно симпатично. Тем не менее, создаётся впечатление, что им не помешало бы дополнительное доработанное оформление ,что-то ещё добавить, либо подправить для большей симметричности.
Бывший чемпион мира в полусреднем весе Эррол Спенс официально подтвердил свое желание воспользоваться правом на матч-реванш с абсолютным чемпионом мира в этом весе