powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / SVG. Как выровнять сетку по левому и нижнему краям?
6 сообщений из 6, страница 1 из 1
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020307
letefon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
В SVG делаю сетку, при этом размер сетки не кратен размеру самой области, в которой находится сетка.
Когда делаю без выравнивания, сетка рисуется нормально.
При попытке смещения, сетка выравнивается, но при этом рисуется кусками.
Пробовал по разному, но ничего не вышло.

Код без выравнивания:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<div style="width: 40%; padding-bottom: 20%;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" preserveAspectRatio="xMinYMin meet">

<rect x="0" y="0" width="200" height="100" stroke="grey" stroke-width="0.5" fill="none" />

<defs>
    <pattern id="Grid" width="50" height="25" patternUnits="userSpaceOnUse">
    <path d="M 50 0 L 0 0 0 25" fill="none" stroke="gray" stroke-width="2"/>
    </pattern>
</defs>

<rect x="10" y="10" width="180" height="80" stroke="grey" stroke-width="0.5" fill="url(#Grid)" />

</svg>
</div>


Код с выравниванием, где сетка прорисовывается кусками:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<div style="width: 40%; padding-bottom: 20%;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" preserveAspectRatio="xMinYMin meet">

<rect x="0" y="0" width="200" height="100" stroke="grey" stroke-width="0.5" fill="none" />

<defs>
    <pattern id="Grid2" width="50" height="25" patternUnits="userSpaceOnUse">
    <path d="M 60 15 L 10 15 10 30" fill="none" stroke="gray" stroke-width="2"/>
    </pattern>
</defs>

<rect x="10" y="10" width="180" height="80" stroke="grey" stroke-width="0.5" fill="url(#Grid2)" />

</svg>
</div>


Что не так делаю?
...
Рейтинг: 0 / 0
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020587
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
letefon,
Я так и не понял, про какое выравнивание вы говорите?
Прямоугольник 180х80 вы пытаетесь замостить шаблонами 50х25.
Целое число раз они туда не влезут.
В каждом шаблоне рисуете две линии. (60,15) - (10,15) - (10,30) Причем граничные точки выходят за рамку шаблона.

Вы чего хотите то?
...
Рейтинг: 0 / 0
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020598
letefon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Прямоугольник 180х80 вы пытаетесь замостить шаблонами 50х25
да, такое условие
вот на этом скриншоте (в приложенном файле) замостилось все нормально,
Но нижний и левый края ячеек сетки не совпадают с нижним и левым краями прямоугольника 180х80
...
Рейтинг: 0 / 0
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020599
letefon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот попытка выравнить по краям ячеек
Вроде выровнилось, но при этом сетка рисуется кусками
...
Рейтинг: 0 / 0
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020600
letefon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот как должно быть в итоге
...
Рейтинг: 0 / 0
SVG. Как выровнять сетку по левому и нижнему краям?
    #40020649
letefon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел решение, как-то так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<div style="width: 40%; padding-bottom: 20%;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" preserveAspectRatio="xMinYMin meet">

<rect x="0" y="0" width="200" height="100" stroke="grey" stroke-width="0.5" fill="none" />

<defs>
    <pattern id="Grid2" width="50" height="25" patternUnits="userSpaceOnUse" patternTransform="translate(10 15)" >
    <path d="M 50 0 L 0 0 0 25" fill="none" stroke="gray" stroke-width="2"/>
    </pattern>
</defs>

<rect x="10" y="10" width="180" height="80" stroke="grey" stroke-width="0.5" fill="url(#Grid2)" />

</svg>
</div>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / SVG. Как выровнять сетку по левому и нижнему краям?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]