将“textarea”高度保持为“100%”不起作用
我在左列中保留了一些输入元素,在右列中只保留了textarea,我试图将高度添加到100%等于左列。但由于某种原因它不起作用。
.popup {
border: 1px solid red;
background: rgba(000, 000, 000, 0.4);
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: center;
}
form,
fieldset {
padding: 0;
margin: 0;
border: 0;
}
form {
display: flex;
flex-wrap: wrap;
border: 1px dotted gray;
width: 25rem;
}
fieldset {
width: 50%;
background: #333;
padding: 0.5em;
margin: 0;
box-sizing: border-box;
}
form label {
display: block;
width: 100%;
margin-bottom: 1rem;
}
form label input,
form label textarea {
width: 100%;
background: white;
border: 1px solid gray;
}
textarea {
border: 1px solid blue;
width: 100%;
height: 100%;
box-sizing: border-box;
}
.submit-form {
flex-basis: 100%;
text-align: right;
background: tan;
}
<div>
<div>
<form>
<fieldset>
<label htmlFor="name"><input type="text" name="name" /></label>
<label htmlFor="email"><input type="email" name="email" /></label>
<label htmlFor="phone">
<input type="tel" name="phone"
autoComplete="off"
placeholder="Phone"/> </label>
</fieldset>
<fieldset>
<label htmlFor="message">
<textarea placeholder="Message"
autoComplete="off"
name="message"></textarea></label>
</fieldset>
<div>
<button>Submit</button>
</div>
</form>
</div>
</div>
<div>
<div>
<form>
<fieldset>
<label htmlFor="name"><input type="text" name="name" /></label>
<label htmlFor="email"><input type="email" name="email" /></label>
<label htmlFor="phone">
<input type="tel" name="phone"
autoComplete="off"
placeholder="Phone"/> </label>
</fieldset>
<fieldset>
<label htmlFor="message">
<textarea placeholder="Message"
autoComplete="off"
name="message"></textarea></label>
</fieldset>
<div>
<button>Submit</button>
</div>
</form>
</div>
</div>
回答
将此添加到 style .message{ height:100% }。检查以下代码片段。
.popup {
border: 1px solid red;
background: rgba(000, 000, 000, 0.4);
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: center;
}
form,
fieldset {
padding: 0;
margin: 0;
border: 0;
}
form {
display: flex;
flex-wrap: wrap;
border: 1px dotted gray;
width: 25rem;
}
fieldset {
width: 50%;
background: #333;
padding: 0.5em;
margin: 0;
box-sizing: border-box;
}
form label {
display: block;
width: 100%;
margin-bottom: 1rem;
}
form label input,
form label textarea {
width: 100%;
background: white;
border: 1px solid gray;
}
textarea {
border: 1px solid blue;
width: 100%;
height: 100%;
box-sizing: border-box;
}
.submit-form {
flex-basis: 100%;
text-align: right;
background: tan;
}
.message {
height: 100%
}