0

I have the following HTML & CSS code.

I'd like to position all my text vertically centered. Even 'Text here' would be left aligned to the logo. Can someone explain how I achieve this with my code? Many thanks.

Fiddle: http://jsfiddle.net/z6yet59f/

.slogan {
    background:#eaeaea;
    float:left;
    width:600px
}

.slogan img {
    cursor: pointer;
    width:92px;
    height:92px
}

.slogan div {
    float:left;
    margin-left: 35px;
}

.slogan div span {
    display:block
}
<div class="slogan">
    <div>
            <p>
                <span>Text here</span>
                <img src="https://cdn3.iconfinder.com/data/icons/rcons-social/32/blog_blogger_google-128.png" id="chat_link_35" title="click to start live chat ..">
            </p>
    </div>

    <div>
        <span class="heading">National Helpline</span>
        <span>Hello</span>
    </div>

    <div>
        <span class="heading" style="color:orange">National Helpline</span>
        <span>Hello</span>
    </div>
    
</div>
michaelmcgurk
  • 5,867
  • 22
  • 75
  • 167
  • Possible duplicate of [Vertically Align text in a Div](http://stackoverflow.com/questions/2939914/vertically-align-text-in-a-div) – BSMP Oct 12 '15 at 14:14
  • This [MDN article on vertical alignment](https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align) is probably a better resource than the one at that answer though. – BSMP Oct 12 '15 at 14:16

2 Answers2

4

Please find the updated code below, hope it will resolve your issue.

.slogan {
    background:#eaeaea;
    float:left;
    width:600px
}

.slogan img {
    cursor: pointer;
    width:92px;
    height:92px;
     vertical-align: middle;
}

.slogan div {
    display:table-cell;
    vertical-align:middle;
    margin-left: 35px;
}
.slogan div p{display:block;}
   .slogan div p span{
    display:inline-block;
    vertical-align:middle;
}

.slogan div span {
    display:block
}
<div class="slogan">
    <div>
            <p>
                <span>Text here</span>
                <img src="https://cdn3.iconfinder.com/data/icons/rcons-social/32/blog_blogger_google-128.png" id="chat_link_35" title="click to start live chat ..">
            </p>
    </div>

    <div>
        <span class="heading">National Helpline</span>
        <span>Hello</span>
    </div>

    <div>
        <span class="heading" style="color:orange">National Helpline</span>
        <span>Hello</span>
    </div>
    
</div>
CreativePS
  • 1,097
  • 7
  • 15
0

Just add this class .valign-middle

CSS

.valign-middle {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: center;
    align-items: center;
}

HTML

<div class="slogan valign-middle">
    <div>
        <p> <span>Text here</span>

            <img src="https://cdn3.iconfinder.com/data/icons/rcons-social/32/blog_blogger_google-128.png" id="chat_link_35" title="click to start live chat ..">
        </p>
    </div>
    <div> <span class="heading">National Helpline</span>
 <span>Hello</span>

    </div>
    <div> <span class="heading" style="color:orange">National Helpline</span>
 <span>Hello</span>

    </div>
</div>

DEMO HERE

Luís P. A.
  • 8,664
  • 2
  • 20
  • 31