2016-04-28 3 views
0

Hello Stackoverflow,Идеи о том, как построить эту линию?

Я новичок в CSS3 и хотел бы узнать лучшие пути (в соответствии с современными стандартами), чтобы построить линию на этом изображении.

line

После нескольких попыток, это лучший я мог придумать: JsFiddle here

Как я могу добавить тень?

Any tips would be appreciated! Have an awesome coding day all :) 
+3

Ожидается, что вы по крайней мере попытаться закодировать это для себя. Stack Overflow не является службой записи кода. Я бы предположил, что вы проводите дополнительные исследования, либо через Google, либо путем поиска SO, сделайте попытку и. если у вас все еще есть проблемы, вернитесь ** с кодом ** и объясните, что вы пробовали, и почему это не сработало. –

+2

http://stackoverflow.com/questions/26472289/hr-line-with-a-arrow-in-between-pointing-down – j08691

+0

@ j08691 Этот вопрос не имеет эффекта смешивания. –

ответ

0

Вот основная идея для этого.

  1. У вас должно быть 3 divs в вашем компоненте горизонтального div, давайте назовем их слева, в центре, справа.
  2. левый и правый divs имеют градиент, который дает эффект слияния. Для этого вы можете просто использовать градиенты css в фоновом режиме.
  3. Центр div должен иметь один дочерний элемент (или псевдоэлемент), который имеет только правую и нижнюю границы. Теперь мы вращаем этого дочернего элемента на 45deg, чтобы он выглядел как стрелка.
  4. У вас могут быть проблемы, поскольку дочерний элемент не сможет скрыть линию, проходящую посередине для центра div. Разрешить это можно с помощью , вы можете использовать еще 2 дочерних divs в центре div, которые расположены слева и справа на повернутом div.

Еще один более простой подход - использовать фоновое изображение png для вашего горизонтального компонента div;).

0

Чтобы сделать линию с конечными конечностями, как то, что вам нужен линейный градиент. Затем вы можете добавить треугольник сверху. Сначала вы должны попробовать и вернуться, если у вас есть проблемы. Вот строка для запуска:

hr { 
    border: 0; 
    height: 1px; 
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0)); 
} 

https://jsfiddle.net/927Lp5bt/

Смежные вопросы