table表格中,一行有多个textarea,调整一行中某一个textarea高度时,使同一行中其他textarea高度同步变化
先实现这样一个html结构如下:
<table>
<tr>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
</tr>
</table>
此时拉高其中一个textarea的高度,其余高度并不会变化
思路:让td中的元素占满高度 100%
添加样式textarea{ height: 100% !important; }
发现无效果,因为td没有高度
解决:给td添加高度height: 1px
,td的高度会被子元素撑开,这样能让td中的子元素占满td的高度
问题:这样修改后发现无法修改textarea的高度了
将textarea
的高度样式修改为min-height
解决
textarea {
min-height: 100% !important;
}
完整例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
td{
height: 1px;
}
textarea{
min-height: 100% !important;
}
</style>
</head>
<body>
<table>
<tr>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
<td>
<textarea></textarea>
</td>
</tr>
</table>
</body>
</html>