Встроенные блоки и обтекание текстом с помощью CSS
Я хочу отобразить флажок, а затем текст, который обертывается вокруг себя. HTML без CSS выглядит следующим образом:
<input type="checkbox" checked="checked" />
<div>Long text description here</div>
Я хочу, чтобы он отображался как:
X Long Text
Description
Here
В настоящее время он обертывается таким образом
X Long Text
Description Here
Это легко сделать с таблицами, но мне нужно, чтобы он был в CSS по другим причинам. Я думал, что комбинация дисплея: inline-block/float: right/clear/spans вместо DIVs будет работать, но до сих пор мне не повезло.
Ответы
Ответ 1
Оберните флажок и отметьте в контейнере div (или li - я делаю формы со списками часто) и применим
<div class="checkbox">
<input type="checkbox" id="agree" />
<label for="agree">I agree with checkbox</label>
</div>
.checkbox input {
float:left;
display:block;
margin:3px 3px 0 0;
padding:0;
width:13px;
height:13px;
}
.checkbox label {
float:left;
display:block;
width:auto;
}
Ответ 2
Попробуйте следующее:
input { float: left; }
div { margin-left: 40px; }
Настройте margin-left
на сколько места вы хотите. Флажок float: left
в основном выводит его из макета блока, поэтому он не нажимает на текст.