How to have images in line with text in css

前端 未结 6 1525
时光说笑
时光说笑 2021-01-02 03:06

I\'m creating the footer of my website using html and css.

I want to have the two facebook and twitter images in line with the text so that everything in the footer

相关标签:
6条回答
  • 2021-01-02 03:37

    I find a lot of the time I need to adjust the position of the image to align with the text. You can do this by wrapping the text and image in a div with position relative and then assigning position absolute on the image. Then you ca add top and margin left to adjust the position relative to the text. https://jsfiddle.net/edhescqn/3/

    HTML:

    <div class="amazonLink">
        <a href="#">
            <div class="amazonLink__text">Buy Now on Amazon</div>
            <img class="amazonLink__image" 
                src="http://cdn2.iconmonstr.com/wp-content/assets/preview/2016/240/iconmonstr-amazon-1.png" width="24px" height="24px">
        </a>
    </div>
    

    CSS:

    .amazonLink {
      position: relative;
      margin-top: 10px;
    }
    
    .amazonLink__text {
      display: inline-block;
      line-height: 40px;
    }
    
    .amazonLink__image {
      display: inline-block;
      position: absolute;
      top: 8px;
      margin-left: 5px;
    }
    
    0 讨论(0)
  • 2021-01-02 03:42

    .content img, .content p { float:left } float: left/right - depending where you want it to be

    0 讨论(0)
  • 2021-01-02 03:46

    Check out this working example here.

    .channels li {
        float: left;
        margin-left: 0.625em;
    }
    
    0 讨论(0)
  • 2021-01-02 03:59

    If you want to use new tags specific for footer and address this is my example:

    <footer id="footer">
    
        <span><img src="Images/facebook.png" alt="some text" /></span>
            <span> <img src="Images/twitter.png" alt="some text"/></span>
                    <span>
                        <address>
                            Address line 1
                            Address line 2
                        Address line 3
                        </address>    
                </span>
    </footer>
    
    
    #footer {display:inline;}
    #footer address {display:inline }
    

    The alt to images was added to help with disability and standards.

    0 讨论(0)
  • 2021-01-02 04:02

    <p> tags are block-level elements. Use an inline element such as <span>:

    <div class="footer content">
        <img src="Images/facebook.png" />
        <img src="Images/twitter.png">
        <span> 
            Address line 1
            Address line 2
            Address line 3
        </span>
    </div>
    

    Alternatively, if you're able to use CSS, you can define both elements as inline-block:

    .footer.content > img,
    .footer.content > p {
        display: inline-block;
    }
    

    Example 1 jsFiddle

    Example 2 jsFiddle

    EDIT: It might also be wise for semantics to use <address>, rather than <span>. For example:

    <div class="footer content">
        <img src="Images/facebook.png" />
        <img src="Images/twitter.png">
        <address> 
            Address line 1
            Address line 2
            Address line 3
        </address>
    </div>
    

    Since <address> is also a block-level element, you'll need to include the correct CSS as follows:

    .footer.content > img,
    .footer.content > address {
        display: inline-block;
    }
    

    Final jsFiddle example

    0 讨论(0)
  • 2021-01-02 04:02

    The simplest way is to use <span> instead of <p>. <p> makes a new paragraph which is quit "independent".

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