2015-04-20 6 views
3

У меня есть простой вариант использования. У меня есть внешний div и svg внутри. Мол,Прокрутка svg внутри div

<div> 
    <svg> 
    ... 
    ... 
    </svg> 
</div> 

Я пытаюсь получить SVG для прокрутки внутри DIV, но без удачи :(Я попытался установить:

div { 
    position: relative; 
    width: 100%; 
    overflow: scroll; 
} 

svg { 
    width: 100%; 
} 

Но это не работает, вы, ребята, можете мне помочь

+0

Вы должны опубликовать полный код или создать скрипку. – ketan

ответ

1

Обычно прокрутка отображается, когда вы устанавливаете размер в div, а содержимое (в вашем случае svg) переполняет размер. Например, это класс css, который я написал ранее сегодня который имеет полосу прокрутки на нем, когда содержимое начинает переполняться за пределами div

#outbox_div { 
border: 3px solid grey; 
border-radius:2px; 
height:200px; 
width:80%; 
overflow-y:scroll; 
} 
+0

обновлен, на самом деле есть график. –

+0

Спасибо, это помогло. –

1

Я бы пометил div как переполнение: прокрутка.

Таким образом, по мере того, как компонент svg растет, div будет прокручивать его.

При использовании компонентов svg я всегда помещаю их в свой собственный div, чтобы отделить графический код от остальной части страницы.

+0

Спасибо, я установил переполнение на внешнем div для прокрутки (исправленный вопрос). Ширина как внешнего div, так и svg установлена ​​равной 100%. Кажется, это не работает. –

+0

Не устанавливайте размер на svg. Это остановит движение svg больше, чем его содержащий div. –

+0

Спасибо, это помогло. –

3

вы должны определить высоту контейнера, иначе высота контейнера будет соответствовать высоте svg.

HTML:

<div> 
    <svg viewbox="0 0 400 400"> 
     <path d="M 200 100 l 100 200 l -200 0 Z" stroke-width="5" stroke="red"></path> 
    </svg> 
</div> 

CSS:

div { 
    position: relative; 
    width: 100%; 
    height: 400px; 
    overflow-y: scroll; 
} 

см https://jsfiddle.net/Lvnozzn2/1/

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