Вероятно, вы должны использовать canvas
, так как canvas предназначен для рисования. Производительность использования canvas
должна быть лучше, чем использование элементов DOM, особенно в новых версиях, использующих ускорение графического процессора для рисования.
В любом случае, вы всегда можете использовать border-radius
в сочетании с border-width
или border-color
для создания кривых, показывая только одну сторону границы элемента, скрывая все остальные:
#curves.width div {
border-color: transparent transparent transparent #999;
}
#curves.color div {
border-width: 0 0 0 1px;
}
Комбинируя это с различными комбинациями border-radius
, вы получаете несколько кривых. Я сделал очень простую демонстрацию для этого здесь: http://www.jsfiddle.net/yijiang/nDxYJ/
Вы можете даже комбинировать его с вращением и преобразованием CSS3 transform
для большей гибкости. Это, однако, все еще более ограничительно, чем использование canvas
, и его также сложнее контролировать.