2012-05-22 5 views
1

У меня есть приложение here Если пользователь нажимает кнопку «плюс», он отображает модальное окно.Как переместить кнопку вправо?

Проблема в том, что я хочу, чтобы кнопка закрытия появлялась в правой части окна, в той же строке, что и заголовок «ПРЕДЫДУЩИЕ ВОПРОСЫ». Но, похоже, он совсем не движется вправо. Что я делаю не так?

Ниже приведен код:

HTML:

<div class="previouslink"> 
<h1>PREVIOUS QUESTIONS</h1> 

<button type="button" id="close" onclick="return closewindow();">Close</button> 
</div> 

CSS:

#close{ 
    float:right; 
    display:block; 
    margin-right:0px; 
    clear:left; 
} 
+0

Это не на той же линии, @cdhowie! – drublic

+0

Кстати: 'display: block' применяется по умолчанию каждым браузером при добавлении' float'-property с 'left' или' right'. Вам не нужно писать снова. – drublic

ответ

5

В вашем файле QandATableStyle2.css есть ошибки. Удалить ; после:

.previouslink{ 
display:none; 
}; 

И он должен работать нормально. ; знак предотвращает определение из loading.

+0

Это не отвечает на вопрос, но да, это ошибка в CSS-файле. – drublic

+2

Он отвечает на вопрос. ';' предотвращает загрузку определения #close. – WojtekT

+0

@WojtekT, приятно поймать! :) – Zuul

5

Как H1 является блок-элемент он занимает всю ширину линии, на которой она стоит , Это означает, что элементы, которые следуют за элементом H1, не могут находиться в одной строке, даже если к ней применяется свойство float.

Вы можете либо добавить

position: absolute; 
top: 0; 
right: 0; 

к элементу. Или добавьте отрицательный запас для этого элемента. Кроме того, также можно добавить float: left; к элементу H1. Помните, что это может вызвать определенные проблемы с плавающими и прерываниями строк.

Также можно добавить -элемент до H1. Это будет препятствовать тому, чтобы H1 занимал все пространство в своей строке, но будет распознавать закрытый элемент с его пространством.

+0

Не знаете, почему этот ответ был опущен. Подход 'position: absolute' - лучший выбор здесь. – thirtydot

+0

Спасибо, @thirtydot! Я думаю, что некоторые люди считают, что «позиция: абсолютная» плоха во всех случаях, потому что они не знают о величии, которая в ней лежит. – drublic

+0

Он объясняет альтернативный способ перемещения кнопки, но не может объяснить, почему текущий метод не работает. –

0

Вы можете применить display: inline; к элементу <h1>, что позволит отображать <button> (также inline) в той же строке.

Обратите внимание, что вам, скорее всего, понадобится стилизовать следующий элемент до clear: both;, если вы не хотите, чтобы в пространство между заголовком и кнопкой попадало следующее содержимое.

См. this example.

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