2013-02-25 2 views
1

У меня есть следующий HTML:Как я могу установить флажок и метку на одной строке?

<li> 
    <label for="RememberMe" class="checkbox remember-me">Remember me?</label> 

    <input type="checkbox" value="true" name="RememberMe"> 
    <input type="hidden" value="false" name="RememberMe"> 
</li> 

CSS для этого выглядит следующим образом:

.form label, .form .label { 
    display: block; 
    margin-bottom: 0.5em; 
    margin-top: 0.5em; 
} 

form input[type="radio"], form input[type="checkbox"] { 
    margin-left: 0.5em; 
    margin-top: 0.5em; 
    padding: 0; 
} 

Моя проблема заключается в том, что слова «Запомнить меня» на одной строке и появится флажок под ним ,

Как это сделать, чтобы флажок появлялся слева от слов «Запомнить меня». Должен ли я использовать float: left или , чтобы метка не отображалась как disply: block?

Update:

Спасибо за все предложения. Я не могу изменить мастер CSS для моего приложения. Является ли это possi BLE для меня, чтобы внести изменения в некоторые конкретные CSS, например:

label.remember-me { 

} 

input#RememberMe { 

} 
+1

Для меня это выглядело отлично здесь http://jsfiddle.net/VBG6B/ – coder

ответ

2

Дисплей недвижимости для этикетки должны быть inline-block. Вы можете больше узнать о вариантах отображения here.

.form label, .form .label { 
    display: inline-block; 
    margin-bottom: 0.5em; 
    margin-top: 0.5em; 
} 

Демо: Fiddle

Update:

.form label.remember-me{ 
    display: inline-block; 
} 

Демо: Fiddle

+0

Я обновил свой вопрос. Можете ли вы посмотреть и посмотреть, могу ли я это сделать? – 2013-02-25 06:15:35

+0

@ Посмотрите обновленный ответ –

2

вы использовали Display:Block в label CSS, что является проблемой.
удалите его, и он будет работать.

Флажок слева.

<li> 
<input type="checkbox" value="true" name="RememberMe"/> 
<label for="RememberMe" class="checkbox remember-me">Remember me?</label> 
<input type="hidden" value="false" name="RememberMe"/> 
</li> 

См fiddle

1
.form label, .form .label { 
    margin-bottom: 0.5em; 
    margin-top: 0.5em; 
} 

form input[type="radio"], form input[type="checkbox"] { 
    margin-left: 0.5em; 
    margin-top: 0.5em; 
    padding: 0; 
} 

<input type="checkbox" value="true" name="RememberMe"> 
<input type="hidden" value="false" name="RememberMe"> 
<label for="RememberMe" class="checkbox remember-me">Remember me?</label> 
+0

Anurag. Могу ли я просто добавить новый CSS, который будет отменен? – 2013-02-25 06:14:53

0

Должно быть что-то вроде этого: он будет отображать checkbox на левой стороне и remember me? справа.

<form> 
    <li> 
     <input type="checkbox" value="true" name="RememberMe"> 
     <label for="RememberMe" class="checkbox remember-me">Remember me?</label> 
     <input type="hidden" value="false" name="RememberMe"> 
    </li> 
</form> 
0

удалить дисплей: удалить из формы этикетку и поместить 'float: left;' на флажке ввода.

И вы используете класс .label или это ошибка,

Вы можете сделать ваши обновления с:

label .remember-me { 
    margin-bottom: 0.5em; 
    margin-top: 0.5em; 
    } 

input[name=RememberMe] { 
    margin-left: 0.5em; 
    margin-top: 0.5em; 
    padding: 0; 
    float:left; 
    clear:left; 
} 

Вы, возможно, придется использовать важные или родитель #id в качестве дополнительного селекторная точка, доступная в DOM.

+0

Я обновил свой вопрос. Можете ли вы посмотреть.Спасибо – 2013-02-25 06:13:03

+0

Но что мне добавить в обновление, которое изменит его значение по умолчанию? – 2013-02-25 06:24:44

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