Я пытаюсь использовать flexbox для создания макета столбца с элементом, «всплывающим» справа.
Примерно так :

Дело в том, что я не могу изменить HTML, поскольку это встроенная форма, поэтому я пытаюсь достичь этого с помощью чистого CSS.
Пока у меня есть следующее:
.form {
display: flex;
flex-direction: column;
text-align: center;
}
.form-container {
display: flex;
flex-direction: column;
text-align: center;
justify-content: space-between;
}
.form-form {
width: 100%;
}
form {
display: flex;
justify-content: center;
}
fieldset {
border: 0;
}
textarea {
resize: none;
}
.form-columns-2 {
display: flex;
}
.form-columns-2 input:first-child {
margin-bottom: .5em
}
.form-columns-1 textarea {
height: 100%
}
.submit-wrapper{
flex-direction:column;
}
<div class="form">
<div class="form-container">
<div class="form-form">
<form>
<fieldset class="form-columns-2">
<input type="text" placeholder="test">
<input type="text" placeholder="test">
</fieldset>
<fieldset class="form-columns-2">
<input type="text" placeholder="test">
<input type="text" placeholder="test">
</fieldset>
<fieldset class="form-columns-1">
<textarea placeholder="test">Text</textarea>
</fieldset>
<div class="submit-wrapper">
<div class="actions">
<input type="submit" value="Submit">
</div>
</div>
</form>
</div>
</div>
</div>
Редактировать:
Мне также нужна кнопка отправки на сидеть под текстовой области,но поскольку .submit-wrapper
является прямым потомком form
, единственный способ увидеть это - добавить flex-direction: column;
к form
.Однако это превращает весь макет в столбец, который мне не нужен.