Подтвердить что ты не робот

CSS затухает горизонтальным правилом/стилем div div без изображений

Я большой поклонник минимального использования изображений и задавался вопросом, есть ли у кого-нибудь тактика (или, если возможно), создание такого рода вещей с помощью чистого статического CSS?

http://www.flickr.com/photos/jahimandahalf/6780397612/

Я имею в виду эффект линии, которая, по-видимому, становится более гладкой и угасающей, а теневой эффект под ней.

Я думал, что с ним можно сделать трюк с CSS, как треугольники:

http://css-tricks.com/snippets/css/css-triangle/

Или, возможно, с поворотом в теневой тени с помощью 'transform':

zenelements.com/blog/css3-transform/

Любые идеи?

4b9b3361

Ответ 1

Вы можете использовать стопы CSS3 и псевдоэлемент :after для достижения такого эффекта. Хитрость заключается в том, чтобы добавить границу к элементу <hr>, используя псевдоэлемент :after и поместить его в центр начального градиента с мягким цветом, который заканчивается градиентом.

Вот быстрая демонстрация и еще одна демонстрация с использованием какого-либо цвета.

Ответ 2

Хорошо, поэтому я ответил на свой вопрос, но я читал форумы Stackoverflow и, похоже, был приемлемым (если вообще не поощрялся!)

Итак...

HTML:

<html>
<head>
<TITLE>TEST</TITLE>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
<body>

<div id="wrap">
<div id="gradient">
</div>
</div>

</body>
</html>

CSS

#wrap
{
overflow:hidden;
height:10px;
width:600px;
height:20px;
margin:auto;
margin-top:200px;
}


#gradient
{
height:20px;
width:580px;
margin:auto;
margin-top:-11px;
background: -moz-radial-gradient(center, ellipse cover,  rgba(10,10,10,1) 0%, rgba(8,8,8,1) 19%, rgba(3,3,3,0) 80%, rgba(1,1,1,0) 100%); /* FF3.6+ */
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(10,10,10,1)), color-stop(19%,rgba(8,8,8,1)), color-stop(80%,rgba(3,3,3,0)), color-stop(100%,rgba(1,1,1,0))); /* Chrome,Safari4+ */
background: -webkit-radial-gradient(center, ellipse cover,  rgba(10,10,10,1) 0%,rgba(8,8,8,1) 19%,rgba(3,3,3,0) 80%,rgba(1,1,1,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-radial-gradient(center, ellipse cover,  rgba(10,10,10,1) 0%,rgba(8,8,8,1) 19%,rgba(3,3,3,0) 80%,rgba(1,1,1,0) 100%); /* Opera 12+ */
background: -ms-radial-gradient(center, ellipse cover,  rgba(10,10,10,1) 0%,rgba(8,8,8,1) 19%,rgba(3,3,3,0) 80%,rgba(1,1,1,0) 100%); /* IE10+ */
background: radial-gradient(center, ellipse cover,  rgba(10,10,10,1) 0%,rgba(8,8,8,1) 19%,rgba(3,3,3,0) 80%,rgba(1,1,1,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a0a0a', endColorstr='#00010101',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

Ответ 3

hr {
  height: 1px;
  margin: 50px 0;
  background: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(0, 0, 0, 0)), color-stop(0.5, #333333), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), #333333, rgba(0, 0, 0, 0));
  background: -moz-linear-gradient(left, rgba(0, 0, 0, 0), #333333, rgba(0, 0, 0, 0));
  background: -o-linear-gradient(left, rgba(0, 0, 0, 0), #333333, rgba(0, 0, 0, 0));
  background: linear-gradient(left, rgba(0, 0, 0, 0), #333333, rgba(0, 0, 0, 0));
  border: 0;
}
hr:after {
  display: block;
  content: '';
  height: 30px;
  background-image: -webkit-gradient(radial, 50% 0%, 0, 50% 0%, 116, color-stop(0%, #cccccc), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -webkit-radial-gradient(center top, farthest-side, #cccccc 0%, rgba(255, 255, 255, 0) 100%);
  background-image: -moz-radial-gradient(center top, farthest-side, #cccccc 0%, rgba(255, 255, 255, 0) 100%);
  background-image: -o-radial-gradient(center top, farthest-side, #cccccc 0%, rgba(255, 255, 255, 0) 100%);
  background-image: radial-gradient(farthest-side at center top, #cccccc 0%, rgba(255, 255, 255, 0) 100%);
}
<hr>

Ответ 4

Чтобы воспроизвести это горизонтальное правило, вы можете использовать линейный градиент CSS3. Просто создайте div с высотой 3 пикселя и примените следующий CSS (измените цвета по мере необходимости):

background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(left,  #ffffff 0%, #2989d8 25%, #207cca 75%, #ffffff 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#ffffff), color-stop(25%,#2989d8), color-stop(75%,#207cca), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left,  #ffffff 0%,#2989d8 25%,#207cca 75%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left,  #ffffff 0%,#2989d8 25%,#207cca 75%,#ffffff 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left,  #ffffff 0%,#2989d8 25%,#207cca 75%,#ffffff 100%); /* IE10+ */
background: linear-gradient(left,  #ffffff 0%,#2989d8 25%,#207cca 75%,#ffffff 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */

Имейте в виду, что filter не поддерживает остановки цвета, поэтому вы можете захотеть вернуть изображение для < IE10.

Создайте свой собственный CSS3-градиент здесь: http://www.colorzilla.com/gradient-editor/