How do I center an SVG in a div?

后端 未结 12 1641
没有蜡笔的小新
没有蜡笔的小新 2020-11-27 10:11

I have an SVG that I am trying to center in a div. The div has a width or 900px. The SVG has a width of 400px. The SVG has its margin-left and margin-right set to auto. Does

相关标签:
12条回答
  • 2020-11-27 10:46

    SVG is inline by default. Add display: block to it and then margin: auto will work as expected.

    0 讨论(0)
  • 2020-11-27 10:46

    You can also do this:

    <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>
    
    0 讨论(0)
  • 2020-11-27 10:50

    None of these answers worked for me. This is how I did it.

    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    
    0 讨论(0)
  • 2020-11-27 10:50

    make sure your css reads:

    margin: 0 auto;
    

    Even though you're saying you have the left and right set to auto, you may be placing an error. Of course we wouldn't know though because you did not show us any code.

    0 讨论(0)
  • 2020-11-27 10:50

    Put your code in between this div if you are using bootstrap:

      <div class="text-center ">
      <i class="fa fa-twitter" style="font-size:36px "></i>
      <i class="fa fa-pinterest" style="font-size:36px"></i>
      <i class="fa fa-dribbble" style="font-size:36px"></i>
      <i class="fa fa-instagram" style="font-size:36px"></i>
      </div>
    
    0 讨论(0)
  • 2020-11-27 10:52

    Having read above that svg is inline by default, I just added the following to the div:

    <div style="text-align:center;">
    

    and it did the trick for me.

    Purists may not like it (it’s an image, not text) but in my opinion HTML and CSS screwed up over centring, so I think it’s justified.

    0 讨论(0)
提交回复
热议问题