2013-04-03 2 views
2

Я пытаюсь центрировать содержимое, которое содержит таблицу внутри DIV ... Но я не могу работать, как это сделать ...Как центрировать содержимое в DIV

основном Id хотел поставить некоторый текст рядом со столом, и в центре таблицы и текст на странице ...

содержание Я пытаюсь центра:

 <div style="background: purple; padding: 5px;"> 
      <div> 
      <table style="float: left;"> 
       <tr> 
        <th>This</th> 
        <th>is</th> 
        <th>a</th> 
        <th>test</th> 
       </tr> 
      </table> 
      </div> 
      <span style="background: yellow; margin-left: 15px; float: left;">This is a test</span> 
     </div> 

То, что я пытался:

<div style="background: red; width: 100%; text-align: center"> 
     <div style="background: purple; padding: 5px;"> 
      <div> 
      <table style="float: left;"> 
       <tr> 
        <th>This</th> 
        <th>is</th> 
        <th>a</th> 
        <th>test</th> 
       </tr> 
      </table> 
      </div> 
      <span style="background: yellow; margin-left: 15px; float: left;">This is a test</span> 
     </div> 
    </div> 

Если кто-то сможет сказать мне, что я делаю неправильно, это было бы очень эффективно.

+0

Дайте родительскому 'div' (то есть с фиолетовым фоном) ширину, а затем используйте' margin: 0 auto'. – BenM

+0

Мой прокси-сервер не позволяет jsfiddle ... извините :( – craig1231

ответ

0

Вот как вы могли бы сделать, что:

http://jsfiddle.net/7TEqW/2/

HTML:

<div class="outer"> 
    <div class="inner"> 
     <table> 
      <tr> 
       <td>TABLE TEXT</td> 
      </tr> 
     </table> 
     <span>SPAN TEXT</span> 
    </div> 
</div> 

CSS:

.outer { 
    width: 100%; 
    text-align: center; 
} 

.inner { 
    display: inline-block; 
    margin: 0 auto; 
} 

table { 
    width: 200px; 
    float: left; 
    margin-right: 20px; 
    background: #999; 
} 

span { 
    display: inline-block; 
    width: 100px; 
    background: #ccc; 
} 
+0

Это не сработает с его плавающими элементами. – BenM

+0

@BenM - Мой плохой, я обновил свой ответ. –

+0

Хорошо, текст находится рядом с таблицей, но текст и таблица не сосредоточены на странице ... – craig1231

0

float:left Удалить и попробуйте добавить margin:0 auto

.wrap{ 
background: purple; padding: 5px;  
    text-align:center; 
    overflow:auto; 
    position:relative 
} 
table{ 
    background:pink; 
    margin:0 auto 
} 

span{ 
    background: yellow; margin-left: 15px; 
     margin:0 auto 
} 

DEMO

+0

Мой прокси-сервер не разрешает jsfiddle ... извините :( – craig1231

1

Вы можете центрировать элементы с помощью text-align:center если они inline или inline-block. Если мы удалим поплавки и расположим их рядом друг с другом, используя display:inline-block на <table>, этот метод можно использовать.

jsFiddle

CSS

table { 
    display:inline-block; 
} 
.wrapper { 
    text-align:center; 
} 

HTML

<div class="wrapper" style="background: purple; padding: 5px;"> 
    <table> 
     <tr> 
      <th>This</th> 
      <th>is</th> 
      <th>a</th> 
      <th>test</th> 
     </tr> 
    </table> 
    <span style="background: yellow; margin-left: 15px;">This is a test</span> 
</div> 
+0

Текст в диапазоне отображается под таблицей в IE, что не то, что я сожалею. Текст должен быть рядом с таблицей. – craig1231

1

вы можете предоставить идентификатор внутренней DIV сказать, внутренний и внешний сказать к началу DIV:

#outer{width:100%} 
#inner{float:none;margin:0 auto;display:table;} 

если не найдена проблема, дайте мне знать!

0

Введите нужный контент в элемент <p style="text-align: center;"> , и он будет расположен по горизонтали.

Смежные вопросы