2013-07-13 2 views
2

Я хотел бы знать, как я мог бы выравнивать свои кнопки по горизонтали? Кроме того, я хочу добавить текст к этим кнопкам. Это то, что я сейчас имею.Выравнивание кнопок в CSS/HTML в одной строке по горизонтали с текстом?

HTML часть тела:

<body> 
    <div class="tile_div"> 
     <table class="tile_table"> 
      <tr> 
       <td> 
        <img class="tile_image" height="50px" width="100px" src="./images/button_left.png"/> 
        <p class="tile_p">Button one</p> 
       </td> 
       <td> 
        <img class="tile_image" height="50px" width="100px" src="./images/button_left.png"/> 
        <p class="tile_p">Button two</p> 
       </td> 
       <td> 
        <img class="tile_image" height="50px" width="100px" src="./images/button_left.png"/> 
        <p class="tile_p">Button three</p> 
       </td> 
      </tr> 
     </table> 
    </div> 
</body> 

CSS:

.tile_image { 
    float: left; 
    margin: 0px; 
} 

.tile_image img { 
    position:absolute; 
} 

.tile_p { 
    text-align:center; 
    position:relative; 
} 

Как это выглядит: http://img580.imageshack.us/img580/8867/uo7i.png

Я хочу, чтобы текст был в середине кнопок не ниже их ,

EDIT:

Хорошо так, когда я использую src="./images/button_left.png" изображение выглядит они, как это должно выглядеть:

http://img580.imageshack.us/img580/8867/uo7i.png 

Но когда я когда-либо использовать фоновое изображение Это происходит: http://img580.imageshack.us/img580/6127/yz4.png

+0

"кнопка" не должен быть интерактивным? – bitWorking

+0

они должны быть интерактивными, я новичок в html и css. – Alex

+0

Посмотрите на мой ответ http://stackoverflow.com/questions/17629788/aligning-buttons-in-css-html-in-one-line-horizontally-w-text/17629849#17629849 –

ответ

5

таблицы не должны использоваться для разметки. Я думаю, что лучший подход был бы использовать плавали ссылки, как это:

<div class="tile_div"> 
    <a href="#">Button one</a> 
    <a href="#">Button two</a> 
    <a href="#" class="last">Button three</a> 
    <div class="clear"></div> 
</div> 

CSS:

.tile_div a { 
    display: block; 
    float: left; 
    height: 50px; 
    width: 100px; 
    margin-right: 5px; 
    background-image: url(./images/button_left.png); 
    text-align: center; 
    line-height: 50px; 
    text-decoration: none; 
} 

.title_div a.last { 
    margin-right: 0; 
} 

.clear { 
    clear: both; 
} 

JSFiddle

+0

Добавлен JSFiddle. Кроме того, 'line-height: 50px'? Почему бы не использовать padding-top? – sbichenko

+1

width padding-top высота должна быть пересчитана. 'line-height' - лучший способ выровнять текст по вертикали. – bitWorking

+0

О, круто. Ну, если не требуется двухстрочный заголовок, но этот дизайн, похоже, не указывает на то, что такая гибкость предназначена. – sbichenko

0

Хорошо, вам нужно обменять img и p wit ч это:

<button style="background: url('./images/button_left.png'); width: 100px; height: 50px; border: 0;">Button one</button> 

http://jsfiddle.net/6duRf/

+0

Не помогло, как я получаю это сейчас http://img580.imageshack.us/img580/6127/yz4.png – Alex

+0

вы можете дать мне ссылку на изображения, которые вы используете в качестве фона –

+0

http://img163.imageshack.us /img163/8955/fjeb.png – Alex