michaelmcgurk
michaelmcgurk

Reputation: 6523

Align text vertically inside div with CSS

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. How can I achieve this with my code?

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>

Upvotes: 0

Views: 77

Answers (2)

CreativePS
CreativePS

Reputation: 1093

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>

Upvotes: 4

Lu&#237;s P. A.
Lu&#237;s P. A.

Reputation: 9739

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

Upvotes: 0

Related Questions