Возможно ли сделать бесконечный box-shadow?

321
24 января 2017, 23:28

Можно сделать тень с фиксированным отступом, и фиксированной высоты, например отступ 100px и высота самого дива, возможно ли сделать бесконечную тень вниз без отступа? Внешний и внутренний див может быть любой высоты.

Хочу получить такой результат:

Чтобы тень была сплошная от края элемента до самого низа страницы

.wrapper{ 
  height:300px; 
  width:300px; 
} 
.inner{ 
  padding: 8px 10px 3px 35px; 
  margin: 10px auto 0; 
  width: 100px; 
  background-color: #6288cf; 
  box-shadow:0 100px 0 #6288cf; 
}
<div class="wrapper"> 
  <div class="inner">...</div> 
</div>

Answer 1

Этого эффекта можно добиться при помощи псевдоэлементов. В примере используется ::after, ему достаточно задать height: 99999px и добавить обертке (в данном случае body) overflow: hidden.

*, *:after { 
  box-sizing: border-box; 
} 
 
body { 
  overflow: hidden; 
} 
 
div { 
  width: 100px; 
  padding: 10px; 
  background: #ccc; 
  position: relative; 
  border: 1px solid; 
} 
 
div:after { 
  position: absolute; 
  left:0; 
  top: calc(100% + 1px); 
  content: ''; 
  background: #ccc; 
  width: 100%; 
  height: 99999px; 
}
<div>text</div>

Answer 2

Задавайте тень в единицах зависящих от высоты экрана — vh. У тени есть несколько параметров вам надо задавать вертикальное расположение и распространение. Чтобы тень занимала весь низ и по в экран нужно задать тень так: box-shadow: 0 50vh 0 50vh red;, где вместо red указывайте нyжный цвет. Небесполезно будет также для body или нужного контейнера задать overflow: hidden;.

body { 
  overflow: hidden; 
} 
 
.wrapper { 
  height: 300px; 
  width: 300px; 
} 
.inner { 
  padding: 8px 10px 3px 35px; 
  margin: 0 auto; 
  width: 100px; 
  background-color: #6288cf; 
  box-shadow: 0 50vh 0 50vh red; 
}
<div class="wrapper"> 
  <div class="inner">...</div> 
</div>

Также можете вместо 50vh использовать calc(50vh - 10px), где вместо 10px можете использовать нужное количество пикселей.

READ ALSO
функция для программы c++ [требует правки]

функция для программы c++ [требует правки]

добрый вечер уважаемые пользователистолкнулся с одной проблемой которую не могу решить

295
Зависание GUI при использовании QThread

Зависание GUI при использовании QThread

Появилась проблема с зависанием guiПытался запустить в отдельном потоке: mainwindow

385
FLTK: загрузка и вывод изображения

FLTK: загрузка и вывод изображения

Пытаюсь загрузить изображение из файла, но ловится такая ошибка:

291