Как мне центрировать SVG в div?
У меня есть SVG, который я пытаюсь центрировать в div. Элемент div имеет ширину и 900 пикселей. В СВГ имеет ширину 400 пикселей. В СВГ имеет левое поле и правое поле установить значение auto. Не работает, он просто действует так, как будто левое поле равно 0 (по умолчанию).
кто-нибудь знает моя ошибка?
8 ответов:
выше ответы не работает для меня. Добавление атрибута
preserveAspectRatio="xMidYMin"
до<svg>
тег сделал трюк, хотя. ЭлементviewBox
атрибут должен быть указан для этого, чтобы работать, а также. Источник:Mozilla developer network
ни один из этих ответов работал для меня. Вот как я это сделал.
position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);
прочитав выше, что svg встроен по умолчанию, я просто добавил следующее в div:
<div style="text-align:center;">
и он сделал трюк для меня.
пуристам это может не нравиться (это изображение, а не текст), но на мой взгляд HTML и CSS испортили центрирование, поэтому я думаю, что это оправдано.
ответы выше выглядят неполными, поскольку они говорят только с точки зрения css.
расположение svg в видовом экране зависит от двух атрибутов svg
- viewBox: определяет область прямоугольника для svg для покрытия.
- preserveAspectRatio: определено, где разместить видовой экран viewBox wrt и как его растянуть, если видовой экран изменится.
перейдите по этой ссылке из codepen для получения подробной информации описание
<svg viewBox="70 160 800 190" preserveAspectRatio="xMaxYMax meet">
убедитесь, что ваш CSS читает:
margin: 0 auto;
даже если вы говорите, что у вас есть левый и правый набор для авто, вы можете разместить ошибку. Конечно, мы не знаем, потому что вы не показали нам код.
вы также можете сделать это:
<center> <div style="width: 40px; height: 40px;"> <svg class="sqs-svg-icon--social" viewBox="0 0 64 64"> <use class="sqs-use--icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#twitter-icon"> <svg id="twitter-icon" viewBox="0 0 64 64" width="100%" height="100%"> <path d="M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z" /> </svg> </use> </svg> </div> </center>