используя css3, как сделать диагностическую линию между верхним левым и нижним правым углами содержащего элемента div? - PullRequest
3 голосов
/ 31 января 2011

Эй, ребята, я смотрю, как создать диагональную линию, которая всегда будет соединять верхний левый и нижний правый углы содержащего элемента div, независимо от размеров содержащего элемента div, есть ли способ сделать это, используяпросто css3?если нет, то есть ли способ использовать jQuery и css3, и как это можно сделать?

Большое спасибо за ваше время,

Чарли

Ответы [ 2 ]

3 голосов
/ 31 января 2011

На самом деле диагональные линии возможны в CSS (вопреки ответу @ FlashFan).

Два способа приходят на ум:

  • Существует хорошо известный хак с использованием границ, который позволяет рисовать неправильные фигуры, в том числе диагональные линии.
    Здесь вы найдете хорошую запись: http://www.infimum.dk/HTML/slantinfo.html
    Насколько я знаю, эта техника работает во всех современных браузерах. Обратной стороной является то, что вам может понадобиться несколько <div> элементов для создания одной фигуры.

  • Просто создайте узкую рамку с заливкой цвета фона и используйте функцию CSS3 transform: rotate();.
    Этот метод работает только с браузерами, которые позволяют вращать элементы. К счастью, вы можете вращать элементы во всех браузерах, включая IE. Однако CSS для него может быть довольно грязным, так как большинству современных браузеров требуется префикс поставщика для CSS, а в IE есть свой совершенно другой метод ротации.

Хорошая новость заключается в том, что оба эти метода являются чистым HTML / CSS, они оба работают во всех браузерах, и ни один из них не требует использования JavaScript или современных технологий HTML5.

Но их обоих можно считать чем-то вроде взлома. Если вы согласны с использованием Javascript, я бы посоветовал заглянуть в библиотеку Raphael , которая снова работает во всех текущих браузерах.

Если вы в порядке с блокировкой пользователей IE, вы также можете использовать элемент HTML5 <canvas> и просто нарисовать линию, или SVG, если вы предпочитаете векторную графику.

0 голосов
/ 31 января 2011

CSS3 не дает возможности нарисовать такую ​​линию. Используйте Canvas Tag и используйте JavaScript, чтобы нарисовать линию.

Вот учебник: http://diveintohtml5.ep.io/canvas.html#divingin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...