Не уверен, что это возможно, но как бы я создал диагональную линию 1px, которая идет от верхнего левого элемента до нижнего правого, независимо от ширины и/или высоты этого элемента?, создавая ответную диагональную линию в элементе
ответ
Вы можете сделать это несколькими способами.
1) фоновое изображение
1,1) SVG
Вы можете создать SVG прямой, как встроенный код и использовать его для рисования линии. Используя это, вы можете добиться приятных эффектов, таких как тень, градиент, пунктирная линия, ... и многое другое. Также возможно использовать svg внутри элемента css background-image.
<svg style='width: 100%; height: 100%;'>
<line x1="0" y1="100%" x2="100%" y2="0"
style="stroke:rgb(0,0,0);stroke-width:1"/>
</svg>
1,2) исправить изображение (PNG, JPG, ...)
Вы также можете использовать простое изображение в качестве фонового изображения на полном дел.
2) создать линейный градиент фона
.testDiv {
width: 300px;
height: 300px;
background:linear-gradient(to bottom right, transparent calc(50% - 1px), black calc(50% - 1px), black 50%, transparent 50%);
}
Как это работает?
- определить градиент от верхнего левого угла в правый нижний
- цвет прозрачный до 50% - 1 ПВ и снова прозрачный с 50% не до конца
(далее here)
3) вращают внутренний DIV (только на квадратной диве)
при изменении размера экрана testDiv линия должна оставаться диагональной.
.testDiv{
width: 600px;
height: 600px;
background-color: gray;
}
.lineDiv {
position: relative;
top: 29%;
left: 29%;
width: 142%;
height: 142%;
border-left: solid thin blue;
transform: rotate(45deg);
}
Как это работает?
- внешний DIV имеет размер (может быть динамическим тоже)
- внутренний DIV имеет место относительное и ширина и высота установлены на 142%
- сверху и слева установлены до 29% (28,7)
-> 142 = SQRT (100^2 + 100^2) (см phytagoras)
фоновое изображение из линейного градиента следует сделать:
body {
background:linear-gradient(to bottom right, transparent calc(50% - 1px), black calc(50% - 1px), black 50%, transparent 50%) yellow;
/*demo purpose */
height:50%;
width:50%;
margin:auto;
}
html {
display:flex;
height:100vh;
background:white;
}
/* end demo purpose */
запустить сниппета полную страницу и изменить размер окна браузера, чтобы проверить поведение на
- 1. Анимировать пунктирную диагональную линию
- 2. Android: нужно нарисовать диагональную линию
- 3. Продлить диагональную линию на величину
- 4. Как нарисовать диагональную линию в действии скрипт
- 5. Как превратить диагональную линию в другую сторону?
- 6. Распечатайте диагональную линию справа в java
- 7. Как использовать диагональную линию в качестве границы?
- 8. Как нарисовать диагональную линию в подзаголовке?
- 9. Как создать диагональную линию в отзывчивом фоне
- 10. Android-Need нарисуйте диагональную линию, например, метку
- 11. Как добавить диагональную линию к сюжету?
- 12. Как оживить диагональную линию с TweenMax/EaselJS
- 13. Могу ли я построить диагональную сюжетную линию в высоких диаграммах?
- 14. Почему writeln(); не создавая новую линию?
- 15. UIBezierPath и CAShapeLayer не создавая угловую линию
- 16. AS3 Scaling - Зажимает текст и искажает диагональную линию на фотографиях
- 17. создать пунктирную диагональную линию с css линейным градиентом
- 18. Можно ли рисовать диагональную линию с помощью CSS3?
- 19. Как сделать диагональную линию и заполнить верх и низ цветом?
- 20. Как создать диагональную курсовую линию с чистым CSS
- 21. Используйте вертикальную линию в элементе ListView
- 22. найти ответную строку дублирует
- 23. Преобразование кривой в диагональную линию с помощью Cairo (в Avant Window Navigator в Linux)
- 24. Вставка тени CSS не работает, создавая вертикальную линию
- 25. , создавая линию между двумя UIlabels, используя длинный распознаватель жестов нажатия
- 26. Включение списка в диагональную матрицу
- 27. Попытка получить диагональную сумму
- 28. Как сделать диагональную сетку?
- 29. Создать диагональную границу ячейки
- 30. Как рисовать диагональную линию одного символа, используя вложенные петли в коде Python?
Ах, решение SVG отлично работает для того, что мне нужно. Благодаря! – mikeriley131