Список пользователей

1
Админ
Постов: 288
2
VIP
Постов: 75
3
Элита
Постов: 62
4
Проверенные
Постов: 46
5
Проверенные
Постов: 45
6
Проверенные
Постов: 39
7
VIP
Постов: 36
8
VIP
Постов: 35

  • Страница 1 из 1
  • 1
uCoz AJAX ОКНО - ФИНАЛЬНАЯ ПРОКАЧАННАЯ ВЕРСИЯ
Дата: Пятница, 12.06.2026, 05:36 | Сообщение # 1 | | Написал: Известный
Автор темы
Мурчанн не в сети
        Сообщений:288
         Регистрация:20.10.2016
За уважение окружающих За уважение окружающих За хорошее поведение За преданность форуму За любовь народа



Особого описания здесь не требуется, так как каких-либо сложных эффектов или нестандартных решений не использовалось. Основные изменения затронули визуальное оформление: стили были переработаны и выполнены в более светлых тонах, что сделало интерфейс легче и современнее.

В остальном это преимущественно работа над внешним видом и адаптацией элементов под выбранную концепцию дизайна.

CSS стили

Код
/* ============================================
   uCoz AJAX ОКНО - ФИНАЛЬНАЯ ПРОКАЧАННАЯ ВЕРСИЯ
   Цвет: #3b5998 (синий ВК/Facebook)
   ============================================ */

/* === ОРИГИНАЛЬНАЯ СТРУКТУРА === */
.x-sh, .x-sh * { overflow: hidden; margin: 0; border: 0; }
.xsl *, .xsr *, .xsb * { height: 100%; }

.x-sh .xstl { padding-top: 6px; background: transparent url(http://s1.unet.com/img/d/1/shadowh.png) no-repeat 0 0; }
.x-sh .xsml { background: transparent url(http://s1.unet.com/img/d/1/shadowh.png) repeat-y -6px 0; }
.x-sh .xstr { padding-top: 6px; background: transparent url(http://s1.unet.com/img/d/1/shadowh.png) no-repeat -18px 0; }
.x-sh .xsmr { background: transparent url(http://s1.unet.com/img/d/1/shadowh.png) repeat-y -12px 0; }
.x-sh .xsbl { padding-left: 6px; background: transparent url(http://s1.unet.com/img/d/1/shadowv.png) no-repeat 0 -6px; }
.x-sh .xsbc { background: transparent url(http://s1.unet.com/img/d/1/shadowv.png) repeat-x 0 -12px; }
.x-sh .xsbr { padding-right: 6px; background: transparent url(http://s1.unet.com/img/d/1/shadowv.png) no-repeat right 0; }

/* === РАМКА ОКНА — СИНИЙ #3b5998 === */
.xw-tl { background: url(http://s1.unet.com/img/d/1/wframe-leftc.png) no-repeat 0 0; padding-left: 6px; position: relative; }
.xw-tr { background: url(http://s1.unet.com/img/d/1/wframe-rightc.png) no-repeat 100% 0; padding-right: 6px; position: relative; }
.xw-tc { background: url(http://s1.unet.com/img/d/1/wframe-horiz.png) repeat-x 0 0; font-size: 1px; line-height: 1px; overflow: hidden; position: relative; }
.xw-tsps { height: 6px; }
.xw-ml { background: url(http://s1.unet.com/img/d/1/wframe-vert.png) repeat-y 0 0; padding-left: 6px; }
.xw-mr { background: url(http://s1.unet.com/img/d/1/wframe-vert.png) repeat-y 100% 0; padding-right: 6px; }

.xw-plain .xw-mc {
    border: 2px solid #3b5998 !important;
    border-radius: 12px !important;
    padding: 0;
    margin: 0;
    font: normal 13px -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 8px 24px rgba(59, 89, 152, 0.25) !important;
}

.xw-bl { background: url(http://s1.unet.com/img/d/1/wframe-leftc.png) no-repeat 0 100%; padding-left: 6px; }
.xw-br { background: url(http://s1.unet.com/img/d/1/wframe-rightc.png) no-repeat 100% 100%; padding-right: 6px; }
.xw-bc { background: url(http://s1.unet.com/img/d/1/wframe-horiz.png) repeat-x 0 100%; overflow: hidden; font-size: 1px; line-height: 1px; height: 6px; }

/* === КУРСОРЫ РЕСАЙЗА === */
.xw-resize .xw-tl { cursor: nw-resize; }
.xw-resize .xw-tr { cursor: ne-resize; }
.xw-resize .xw-sps, .xw-resize .xw-tsps { cursor: n-resize; }
.xw-resize .xw-ml { cursor: w-resize; }
.xw-resize .xw-mr { cursor: e-resize; }
.xw-resize .xw-mc { cursor: default; }
.xw-resize .xw-bl { cursor: sw-resize; }
.xw-resize .xw-br { cursor: se-resize; }
.xw-resize .xw-bc { cursor: s-resize; }

/* === ЗАГОЛОВОК === */
.xw-plain .xw-body {
    border: none !important;
    background: #ffffff !important;
}

.xw-sps { height: 4px; overflow: hidden; position: absolute; width: 100%; z-index: 1; }

.xw-hdr {
    padding: 0 !important;
    white-space: nowrap;
    height: 48px !important;
    background: #3b5998 !important;
    border-bottom: none !important;
    border-radius: 10px 10px 0 0 !important;
}

.xw-hdr-text {
    color: #ffffff !important;
    font: 600 15px -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    line-height: 48px !important;
    padding-left: 20px !important;
}

.xw-active .xw-hdr-text { color: #ffffff !important; }
.xw-disabled, .xw-actlayer { background: url(http://s1.unet.com/img/1px.gif); }
.xw-active .xw-actlayer { display: none; }
.xw-draggable, .xw-draggable .xw-hdr-text { cursor: move !important; }

/* === КРЕСТИК — ЯРКИЙ СИНИЙ С БЕЛЫМ СИМВОЛОМ === */
.xt {
    position: relative;
    width: 25px;
    height: 18px;
    overflow: visible !important;
    float: right;
    display: inline;
    cursor: pointer;
    background: transparent !important;
}

.xt-close,
.xt-close2 {
    width: 30px !important;
    height: 30px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    margin: 9px 12px 0 0 !important;
    position: relative !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

.xt-close::before,
.xt-close2::before {
    content: "✕" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #3b5998 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
}

.xt-close:hover,
.xt-close2:hover {
    background: #f0f2f5 !important;
    transform: scale(1.1) !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2) !important;
}

.xt-close:hover::before,
.xt-close2:hover::before {
    color: #e64646 !important;
}

.xt-close:active,
.xt-close2:active {
    transform: scale(0.95) !important;
}

.xt-mini { width: 26px !important; background-position: -26px -18px; }
.xt-maxi { background-position: -25px -36px; }
.xt-rest { background-position: -25px -54px; }
.xt-reload { background-position: -25px -72px; margin-right: 5px; }
.xt-help { background-position: -25px -90px; margin-right: 5px; }
.xt-save { background-position: -25px -108px; margin-right: 5px; }

.xw-blank { background: #3b5998; opacity: 0.4; filter: Alpha(Opacity='40'); overflow: hidden; }

/* === КОНТЕНТ ОКНА === */
.myWinCont {
    -moz-user-select: text;
    padding: 20px !important;
    background: #ffffff !important;
}

.myWinGrid { background: url(http://s1.unet.com/img/d/1/g.gif) repeat; }
.myWinLoad { margin: 5px; width: 31px; height: 31px; background: url('http://s1.unet.com/img/ajax.gif') no-repeat 0 0; }

.myWinCont,
.myWinCont td,
.myWinCont dl,
.myWinCont dt,
.myWinCont legend,
.myWinCont b {
    color: #000000 !important;
    font-size: 13px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
}

.myWinCont a:link, .myWinCont a:visited { text-decoration: none; color: #3b5998; }
.myWinCont a:hover, .myWinCont a:active { text-decoration: underline; color: #2d4373; }

.myWinError { color: #e64646; }
.myWinSuccess { color: #4bb34b; }

/* === ЗАГОЛОВОК "СООБЩЕНИЕ" — СДВИГАЕМ НАД ПАНЕЛЬЮ BB === */
.myWinCont label:has(+ span#bc1),
.myWinCont label:has(+ span#bc1) b {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    line-height: 1.4 !important;
}

/* Фоллбэк для браузеров без :has() */
.myWinCont > label:first-of-type {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* === ПАНЕЛЬ BB-КОДОВ — КОМПАКТНАЯ, СИНЯЯ === */
.myWinCont span[id^="bc"] {
    display: inline-block !important;
    margin: 0 2px 6px 0 !important;
    vertical-align: middle !important;
    padding: 0 !important;
}

/* Все BB кнопки — синие с белым текстом */
.codeButtons {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #3b5998 !important;
    color: #ffffff !important;
    border: 1px solid #2d4373 !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    margin: 0 1px 4px 0 !important;
    min-width: 24px !important;
    height: 26px !important;
    box-shadow: 0 1px 2px rgba(59, 89, 152, 0.2) !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

.codeButtons:hover {
    background: #2d4373 !important;
    border-color: #1f3057 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 6px rgba(59, 89, 152, 0.3) !important;
}

.codeButtons:active {
    background: #1f3057 !important;
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(59, 89, 152, 0.2) !important;
}

/* B, I, U — сохраняем начертание */
.codeButtons[value="b"] { font-weight: 800 !important; font-size: 12px !important; }
.codeButtons[value="i"] { font-style: italic !important; }
.codeButtons[value="u"] { text-decoration: underline !important; }

/* Выпадающие списки SIZE и COLOR — тоже синие */
select.codeButtons {
    padding: 4px 6px !important;
    height: 26px !important;
    min-width: 60px !important;
    cursor: pointer !important;
    background: #3b5998 !important;
    color: #ffffff !important;
    border: 1px solid #2d4373 !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    transition: all 0.15s ease !important;
    appearance: auto;
}

select.codeButtons:hover {
    background: #2d4373 !important;
    border-color: #1f3057 !important;
}

select.codeButtons:focus {
    outline: none !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.3) !important;
}

select.codeButtons option {
    background: #ffffff !important;
    color: #000000 !important;
    font-weight: 500 !important;
}

/* === ТЕКСТОВОЕ ПОЛЕ === */
.myWinCont textarea {
    width: 100% !important;
    min-height: 140px !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #3b5998 !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
    margin: 12px 0 12px 0 !important;
}

.myWinCont textarea:focus {
    border-color: #3b5998 !important;
    box-shadow: 0 0 0 3px rgba(59, 89, 152, 0.2) !important;
}

.myWinCont textarea::placeholder {
    color: #99a2ad !important;
}

/* === ТАБЛИЦА С ПОЛЕМ И СМАЙЛАМИ === */
.myWinCont table {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

.myWinCont table tbody,
.myWinCont table tr {
    display: block !important;
    width: 100% !important;
}

.myWinCont table td:first-child {
    display: block !important;
    width: 100% !important;
    padding: 0 0 8px 0 !important;
}

.myWinCont table td:last-child {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 0 0 !important;
}

/* === СМАЙЛЫ === */
.myWinCont .smiles,
.myWinCont .smiles-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    padding: 8px 0 !important;
}

.myWinCont .smiles a,
.myWinCont .sml1 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 6px !important;
    background: transparent !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
}

.myWinCont .smiles a:hover,
.myWinCont .sml1:hover {
    background: #e9ebf1 !important;
    transform: scale(1.15) !important;
}

.myWinCont .smiles img {
    width: 24px !important;
    height: 24px !important;
}

/* === FIELDSET === */
.myWinCont fieldset {
    border: 1px solid #3b5998 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    background: #f5f7fb !important;
    margin: 12px 0 !important;
}

.myWinCont legend {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #3b5998 !important;
    padding: 0 8px !important;
    background: transparent !important;
    border: none !important;
}

.myWinCont legend b {
    color: #3b5998 !important;
    font-weight: 600 !important;
}

/* === ЧЕКБОКС === */
.myWinCont input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #3b5998 !important;
    margin-right: 8px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.myWinCont label {
    color: #000000 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

/* === РАЗДЕЛИТЕЛЬ === */
.myWinCont hr {
    border: none !important;
    border-top: 1px solid #dfe3ee !important;
    margin: 16px 0 !important;
}

/* === КОНТЕЙНЕР КНОПКИ === */
.myWinCont .flex-justify-end.flex-align-center {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #dfe3ee !important;
}

/* === КНОПКА "ДОБАВИТЬ" === */
.myWinCont button.ubtn-default,
.myWinCont button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #3b5998 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    height: 38px !important;
    box-shadow: 0 2px 4px rgba(59, 89, 152, 0.3) !important;
}

.myWinCont button.ubtn-default:hover,
.myWinCont button[type="submit"]:hover {
    background: #2d4373 !important;
    box-shadow: 0 4px 8px rgba(59, 89, 152, 0.4) !important;
    transform: translateY(-1px) !important;
}

.myWinCont button.ubtn-default:active,
.myWinCont button[type="submit"]:active {
    background: #1f3057 !important;
    box-shadow: 0 1px 2px rgba(59, 89, 152, 0.3) !important;
    transform: translateY(0) !important;
}

/* === СКРОЛЛБАР === */
.myWinCont ::-webkit-scrollbar { width: 10px; height: 10px; }
.myWinCont ::-webkit-scrollbar-track { background: #f0f2f5; border-radius: 5px; }
.myWinCont ::-webkit-scrollbar-thumb { background: #3b5998; border-radius: 5px; }
.myWinCont ::-webkit-scrollbar-thumb:hover { background: #2d4373; }

/* === АДАПТИВНОСТЬ === */
@media (max-width: 600px) {
    .myWinCont { padding: 14px !important; }
    .xw-hdr-text { font-size: 14px !important; padding-left: 14px !important; }
    .codeButtons { padding: 4px 6px !important; font-size: 10px !important; height: 24px !important; }
    .myWinCont .smiles a, .myWinCont .sml1 { width: 36px !important; height: 36px !important; }
    .myWinCont .smiles img { width: 26px !important; height: 26px !important; }
}

/* ============================================
   uCoz ОКНО РЕЙТИНГА: +1 ЗЕЛЁНЫЙ / -1 КРАСНЫЙ
   НЕ затрагивает окно "Ответить" (форму)
   ============================================ */

/* === БАЗА: ФОН, ШРИФТ, УБИРАЕМ СКРОЛЛ === */
.myWinCont {
    background: #ffffff !important;
    color: #000000 !important;
    font: 13px -apple-system, BlinkMacSystemFont, "Roboto", Arial, sans-serif !important;
    padding: 16px 20px !important;
    text-align: center !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}

/* Скрываем полосу прокрутки */
.myWinCont::-webkit-scrollbar { display: none !important; }
.myWinCont { -ms-overflow-style: none !important; scrollbar-width: none !important; }

/* === СБРОС ЖИРНОСТИ И ЦВЕТОВ ТЕКСТА === */
.myWinCont div,
.myWinCont span,
.myWinCont p,
.myWinCont b,
.myWinCont strong {
    color: #000000 !important;
    font-weight: normal !important;
}

/* ===  ЗЕЛЁНАЯ ОБВОДКА (ПО УМОЛЧАНИЮ / +1) ===
   Только для окон БЕЗ формы (не цепляет окно "Ответить") */
.myWinCont:not(:has(form)):not(:has(fieldset)) > div {
    background: #f0fff4 !important;
    border: 2px solid #51cf66 !important;
    border-radius: 8px !important;
    color: #2b8a3e !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    margin: 0 !important;
}

/* ===  КРАСНАЯ ОБВОДКА (ЕСЛИ ЕСТЬ -1) ===
   :has() определяет наличие .myWinError и меняет тему на красную */
.myWinCont:has(.myWinError) {
    background: #fff5f5 !important;
}

/* Убираем внутреннюю зелёную рамку при -1 */
.myWinCont:has(.myWinError) > div {
    background: transparent !important;
    border: 2px solid #ff6b6b !important;
}

/* Перекрашиваем ВЕСЬ текст внутри в красный при -1 */
.myWinCont:has(.myWinError) div,
.myWinCont:has(.myWinError) span,
.myWinCont:has(.myWinError) b {
    color: #c92a2a !important;
}

/* Сам -1 делаем чуть крупнее и ярче */
.myWinError {
    color: #ff4444 !important;
    font-weight: bold !important;
    font-size: 16px !important;
}






Стили создавались под мой собственный шаблон, однако выполнены в стилистике современных социальных сетей, поэтому могут подойти и для многих других светлых шаблонов.

Возможно, всплывающие окна стоит дополнительно доработать и расширить их функциональность. Например, можно добавить новые элементы с помощью JavaScript, подключить обработчики событий для автоматической подстановки различных изображений, аватаров и другого контента.

В целом возможности для развития зависят только от поставленных задач и фантазии. На мой взгляд, сначала важно продумать концепцию и визуально представить результат, при необходимости создать макет или набросок, а уже после этого приступать к реализации в коде.

Мурчанн

Признаюсь, не знаю почему, но глядя на звезды мне всегда хочется мечтать.
  • Страница 1 из 1
  • 1
Поиск: