powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Градиентное скрытие
7 сообщений из 7, страница 1 из 1
Градиентное скрытие
    #38851859
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача: есть таблица со столбцом фиксированной ширины. Если содержимое столбца больше этой ширины, то хвост нужно градиентно обрезать.

Эту задачу я решил
Код: html
1.
2.
3.
4.
5.
6.
  <table border="1">
    <tr>
      <td>No fade</td>
      <td class="fade">1234567890</td>
    </tr>
  </table>


Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
.fade {
  width: 50px;
  max-width: 50px;
  overflow: hidden;
  position: relative;
}

.fade:after {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
  content: ' ';
}



Теперь задача усложняется. При наведении мышей на строку, нужно поменять ее цвет
Код: css
1.
2.
3.
tr:hover {
  background-color: red;
}


Но теперь вылезли артефакты с заливкой градиента.

Если добавить такой стиль
Код: css
1.
2.
3.
.fade:hover:after {
  background: linear-gradient(to right, rgba(255, 0, 0, 0), #FF0000);
}


То при наведении на fade столбец все работает как нужно, но при наведении на другой столбец опять появляются артефакты (что логично).

Вопрос: решается ли задача на CSS?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38851860
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача: есть таблица со столбцом фиксированной ширины. Если содержимое столбца больше этой ширины, то хвост нужно градиентно обрезать.

Эту задачу я решил
Код: html
1.
2.
3.
4.
5.
6.
  <table border="1">
    <tr>
      <td>No fade</td>
      <td class="fade">1234567890</td>
    </tr>
  </table>


Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
.fade {
  width: 50px;
  max-width: 50px;
  overflow: hidden;
  position: relative;
}

.fade:after {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
  content: ' ';
}



Теперь задача усложняется. При наведении мышей на строку, нужно поменять ее цвет
Код: css
1.
2.
3.
tr:hover {
  background-color: red;
}


Но теперь вылезли артефакты с заливкой градиента.

Если добавить такой стиль
Код: css
1.
2.
3.
.fade:hover:after {
  background: linear-gradient(to right, rgba(255, 0, 0, 0), #FF0000);
}


То при наведении на fade столбец все работает как нужно, но при наведении на другой столбец опять появляются артефакты (что логично).

Вопрос: решается ли задача на CSS?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38851918
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не .fade:hover, а tr:hover следует использовать:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<!DOCTYPE HTML>
<html>  
<head>
  <style>
    table {
      border-collapse: collapse;
    }
    
    tr .fade {
      width: 50px;
      max-width: 50px;
      overflow: hidden;
      position: relative;
    }
    
    tr .fade:after {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 20px;
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
      content:' ';
    }
    
    tr:hover {
      background-color: red;
    }
    
    tr:hover .fade:after {
      background: linear-gradient(to right, rgba(255, 0, 0, 0), #FF0000);
    }
  </style>
</head>  
<body>
  <table border="1">
    <tr>
      <td>No fade</td>
      <td class="fade">1234567890</td>
    </tr>
  </table>
</body>
</html>
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38852300
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Код: html
1.
 tr:hover .fade:after {

Спасибо
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38852325
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще вопрос. Заметил, что ИЕ (в частности 10 версия) на такую конструкцию
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 tr .fade:after {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 20px;
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
      content:' ';
}

реагирует неадекватно и устанавливает высоту, где-то в треть от необходимой. Аналогично если поставить
Код: css
1.
height: 100%

Это лечится?
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38852359
_user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

вроде нормально отображает, или я не так понял...
...
Рейтинг: 0 / 0
Градиентное скрытие
    #38852389
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_user89вроде нормально отображаетЗначит это у меня на основном проекте, что-то наложилось.

Вылечилось вложением в td div и перенос fade на div
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Градиентное скрытие
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]