Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



CSS трюки

Сообщений 101 страница 120 из 126

1

Данная тема призвана помочь в решении специфических и актуальных задач для Вашего форума с помощью css методов


Дополнения к текущей темеИнтересные решения для форумов

+4

101

kolobdur74 написал(а):

ну вот выложил:

Ну лучше span скрыть совсем:

#pun-navlinks li a span {display:none}

0

102

Mirra Bell написал(а):

А можно же так и картинкой заменить?

Код:
<!--Меняем Названия в Меню на картинку через CSS-->
<style>
#navindex a:before {content:url(адрес изображения);width:20px;} /* Форум */
#navuserlist a:before {content:url(адрес изображения);width:20px;} /* Участники */
#navrules a:before {content:url(адрес изображения);width:20px;} /* Правила */
#navsearch a:before {content:url(адрес изображения);width:20px;} /* Поиск */
#navprofile a:before {content:url(адрес изображения);width:20px;} /* Профиль */
#navadmin a:before {content:url(адрес изображения);width:20px;} /* Администрирование */
#navlogin a:before {content:url(адрес изображения);width:20px;} /* Вход */
#navlogout a:before {content:url(адрес изображения);width:20px;} /* Выход */
#pun-navlinks li a span {font-size:0;}
</style>

Ширину ставим свою..

Для Сообщения:

Код:
<style>
#navpm a {position: relative;}
#navpm a:before {content:url(адрес изображения);width:20px;}
#navpm a span {
position: absolute;
left: 12px;
clip: rect(auto, auto, auto, 68px);
}
</style>

+3

103

Alex_63 написал(а):

#pun-navlinks li a span {display:none}

На всякий случай оставил))

0

104

kolobdur74 написал(а):

На всякий случай оставил))

Ну я Пояснил тут, - ибо я не просто так это пишу  > Общие вопросы от новичков (59)

0

105

kolobdur74
может стоит добавить к CSS трюки ?

#navregister a:before {content:"Новый текст";} /* Регистрация */
#navextra1 a:before {content:"Новый текст";} /* Доп. пункт 1 */

@media screen and (max-width: 540px) {
#pun-navlinks li a:before {display:none}
}

Отредактировано Lidia-Lada (Вт, 9 Май 2017 20:12:23)

+2

106

Lidia-Lada
Добавил в код, поставил пометку

0

107

Аналог скриптовой реализации - на чистом CSS

Картинки OnLine/OffLine в Профиле в топике

В HTML верх (или в Конец Второго окна стилей, вынув из тегов <style>)

<style type="text/css">
.post .post-author.online >ul:after {
  content:url(http://savepic.ru/4647873.png)
}
.post:not([data-group-id="3"]) .post-author:not(.online) >ul:after {
  content:url(http://savepic.org/3595913.png);
}
.post .post-author>ul:after {
  margin-left:0px; /*подвижка слева*/
  margin-top:3px; /*подвижка сверху*/
  display:block;
}
</style>

Обновлено 28.06.2017 (убрана иконка у Гостей)

+3

108

Поскольку часто спрашивают код, - решил выложить тут:

Всплывающий текст в Шапке форума(при наведении)

В HTML верх:

<style type="text/css">
#tblWrap {
  position:relative;
}
#tblHover {
  position:absolute;opacity:0;
  top:
30px; /*подвижка сверху*/
  left:0px; /*подвижка слева*/
  margin:0px; /*отступы*/
  padding:0px; /*внутренние отступы*/
  width:100%; /*ширина*/
  height:240px; /*высота*/
  color:#CCC5B3; /*цвет шрифта*/
  background:#48362C; /*фон*/
  transition:opacity .6s ease-in-out; /*плавность появления*/
}
#tblHover:hover {
  opacity:1;
}
</style>

<div id="tblWrap"><div id="tblHover">
Текст со Всплытием при Наведении
</div></div>

Красное - меняем, регулируем... Вписываем свой текст

+5

109

CSS -растягивающаяся рамка картинкой на Аватар
(в данном случае уголки цветом)

http://funkyimg.com/i/2J1HQ.jpg

В HTML верх (или в Конец Первого окна стиля без тегов <style></style>)

<style>
/*css растягивающаяся Рамка авиков */
.punbb .user-avatar img.ava,
.pa-avatar img[alt] {
border-width:6px!important;
border-color:transparent!important;
-moz-border-image: url(http://funkyimg.com/i/2J1GY.png) 6 stretch stretch!important;
-webkit-border-image: url(http://funkyimg.com/i/2J1GY.png) 6 stretch stretch!important;
-o-border-image: url(http://funkyimg.com/i/2J1GY.png) 6 stretch stretch!important;
border-image: url(http://funkyimg.com/i/2J1GY.png) 6 stretch stretch!important;
}
</style>

Красным - толщина рамки!

+4

110

Вроде не было. Замена слов: Форум, Тем, Сообщений, Последнее сообщение:

<style>
#pun-index th.tcl,
#pun-index th.tc2,
#pun-index th.tc3,
#pun-index th.tcr {
  color: transparent;
  }

#pun-index th.tcl:before,
#pun-index th.tc2:before,
#pun-index th.tc3:before,
#pun-index th.tcr:before {
  color: red !important;
  }
 
#pun-index th.tcl:before {content: "Другой Форум";}
 
#pun-index th.tc2:before {content: "Других Тем";}
 
#pun-index th.tc3:before {content: "Других Сообщений";}
 
#pun-index th.tcr:before {content: "Другое Последнее сообщение";}
</style>

Где: то что красным - цвет текста, то что синим другое название. В теории таким способом можно менять слова и в других местах, даже если там один НТМЛ, не применяя при этом скрипт.

+5

111

kolobdur74 написал(а):

#pun-index th.tcl:before,
#pun-index th.tc2:before,
#pun-index th.tc3:before,
#pun-index th.tcr:before {
  color: red !important;
  }

Я бы к этому добавила:
    position: absolute;
Чтобы текст :before накладывался поверх того, который невидимый. Но не знаю для всех ли стилей подойдет.

+4

112

Устранение блюра для фонов на форуме в Webkit браузерах

Идея от Spiritus Tergi

В конец первого окна Стиля

/*Типа Антиблюр*/
#pun-about p.container, /* Картинка в Футере(если не блюрит, - строку удаляем )*/
.category h2,  /* Для Категорий */
#pun-stats  h2 { /* Статистика */
  image-rendering: pixelated;
}

+3

113

Хак для опускания вниз рейтинга в посту:

Код:
<!-- Хак для опускания вниз рейтинга в посту -->
<style>
.post>.container {
display: grid;
grid-template-areas: "author body" "links links";
grid-template-rows: auto auto;
grid-template-columns: auto 1fr;
}

.post-author {
grid-area: author;
float: none !important;
}

.post-body {
grid-area: body;
margin-left: 0 !important;
padding: 1em !important;
}
 
.post-links {
grid-area: links;
}
 
.post-author, .post-body {word-wrap: break-word;}
 
.post-box {
display: grid;
grid-template-areas: "content content" "vote rating";
grid-template-rows: 1fr auto 0;
grid-template-columns: 1fr auto;
height: 100%;
padding: 0 !important;
}
 
.post-content {grid-area: content;}
.post-rating {grid-area: rating;}
.post-vote {grid-area: vote;float: right;}
</style>

Добавка/Правка для мобильного стиля:

Код:
<style>
@media screen and (max-width: 540px) {
.post>.container {
grid-template-areas: "author" "body" "links";
grid-template-rows: auto auto auto;
grid-template-columns: auto;
}
}
</style>

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

P.S. По поводу grid - у него есть особенность сочетания ширины и высоты в процентах и padding.. grid считает 100% + padding, а не 100% включая padding, поэтому может выходить за рамки контейнера родителя..

Отредактировано kolobdur74 (Пн, 15 Апр 2019 21:30:06)

+3

114

kolobdur74 написал(а):

Хак для опускания вниз рейтинга в посту:

А чем отличается от этого?

Код:
/*опускаем вниз репу*/
.punbb .post-content { 
padding-bottom:36px;
}
.punbb .post-box {
position:relative;
}
.post-rating,.post-vote {
position:absolute;
bottom:0;top:auto;right:20px;left:0;
margin-bottom:4px;
}
.post-vote {
right:140px;left:auto;
}

+1

115

Домовой написал(а):

А чем отличается от этого?

В этом:

Домовой написал(а):

.post-rating,.post-vote {
position:absolute;

Абсолют гуляет, особенно в мобильных устройствах.. Мой вариант не на абсолюте, не гуляет..

0

116

kolobdur74 написал(а):

Абсолют гуляет, особенно в мобильных устройствах.. Мой вариант не на абсолюте, не гуляет..

По идее, при небольшом по высоте посте - не должон(Ибо он обрамление для absoluta

0

117

Deff написал(а):

при небольшом по высоте посте

А при большом? Если помнишь я первый вариант тоже сделал на абсолюте, но абсолют как имел недостатки так и имеет.. Вообщем то главная проблема была в том, что дочерний блок не расширяется на высоту родительского блока, с помощью грида я эту проблему решил.. Можно еще решить это через флекс, но я от него все таки отказался - через флекс все таки больше пришлось бы переделывать, грид в данном случае был удобнее.. Других вариантов заменить абсолют я не нашел..

Но есть и недостатки - старые браузеры до 2016 года грид не поддерживают, возможно не поддерживают и некоторые китайские браузеры..

Отредактировано kolobdur74 (Пн, 22 Апр 2019 20:28:45)

+2

118

kolobdur74 написал(а):

А при большом?

Выходящим за область видимости экрана на мобилках бывают глюки  :dontknow:  ( код делался лет пять назад

+2

119

По поводу проблемы (абракадабры) кириллицы в псевдоэлемнтах :after и :before в Своем стиле, надо добавить в Цвета style_cs.css в самый верх:

@charset "utf-8";

Вроде помогает..

Если не помогает, то лучше использовать такой код:

В самый верх в оба поля Своего стиля:

Код:
@charset "Windows-1251";

Отредактировано kolobdur74 (Пт, 21 Фев 2020 13:56:47)

+1

120

Анимация цитаты

ДЕМО

https://forumupload.ru/uploads/0000/14/1c/15964/827737.gif

Код:
<style type="text/css">
/*цитаты анимация*/

.post-content .quote-box {
  -webkit-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  -o-backface-visibility:hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
    background:#e3f3ff;
  -webkit-transition-property: color;
  -o-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.post-content .quote-box:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fcfeff;
  -webkit-transform: scaleY(1);
  -o-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: 50%;
  -o-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  -o-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.post-content .quote-box:hover, .post-content .quote-box:focus, .post-content .quote-box:active {
  color: #555;

}
.post-content .quote-box:hover:before, .post-content .quote-box:focus:before, .post-content .quote-box:active:before {
  -webkit-transform: scaleY(0);
  -o-transform: scaleY(0); 
  transform: scaleY(0);
}
</style>

+6