2012-06-19 3 views
0

Я тяну свои волосы сюда, пытаясь заставить CSS позиционировать только несколько элементов html.Кнопки позиционирования с использованием CSS без таблиц

Вот код: http://jsfiddle.net/7pTL8/

То, что я хочу, чтобы «[email protected] [v]», чтобы быть в верхнем правом углу, а затем под него «Средняя глубина», «[х] «Настройки» и «Прошедшие 24 часа [v]» отображаются вместе на одном уровне. Я пробовал поплавки, и у меня были странные результаты. Я не хочу прибегать к использованию таблицы здесь, потому что все, что я читал о CSS, предполагает использование таблиц для макета - это плохое решение.

+0

Попробуйте разместить изображение нужного л ook, это было бы намного легче понять людям, отвечая на вопрос. – wsanville

ответ

1

Его не так туф, как вы думаете .. здесь мало решение .. его не очень хорошо, но это может решить проблему вам сейчас ..

[ссылка] http://jsfiddle.net/7pTL8/2/

<div id="user-selection">[email protected] [v]</div> 
<div id="settings-container"> 
<h1 id="graph-title">Average Depth</h1> 
<span id="settings-button">[x] Settings</span> 
<span id="timeframe-dropdown">Past 24 hours [v]</span> 
</div> 

CSS

​#graph-title { 
    position:absolute; 
    left:1px; 
    text-align: left; 
} 

#settings-container { 
    text-align: right; 
    }  

#user-selection { 
    text-align: right; 
    } 

1

<span> элементы используют display:inline, а <h1> элементы используют block по умолчанию. Вручную переопределить # граф-заголовок использовать display:inline и он будет выстраиваться с остальной частью ваших элементов:

#graph-title 
{ 
    display:inline;  
} 
​ 
+0

Элементы H1 являются 'block', по умолчанию, а не' inline-block'. –

+0

Спасибо! Я обновил свой ответ – BumbleB2na

1

Ваша проблема, вероятно, является использование h1 элемента. По умолчанию h1 имеет стиль display: block. Если вы добавите стиль display: inline, все будет хорошо.

EDIT: Я думаю, вы должны использовать span для него, если у вас нет каких-либо особых причин.

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