html - 按最大文本内容缩放表格列
问题描述
我想让我的表格列按列中最大长度行的文本内容进行缩放,如下所示:
问题是我为此使用了 flex,并更改了tr
, th
, td
,table
标签的顺序:
Css 文件:
.table {
display: flex;
width: 100%;
table-layout: fixed;
}
.tr {
display: flex;
flex-direction: column;
border: 1px solid black;
}
.td {
border: 1px solid red;
}
反应文件:
import React from 'react';
import styles from './App.module.scss';
function App() {
return (
<table className={styles.table}>
<tr className={styles.tr}>
<th className={styles.td}>Company</th>
<td className={styles.td}> Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste</td>
<td className={styles.td}>Centro comercial Moctezuma</td>
</tr>
<tr className={styles.tr}>
<th className={styles.td}>Contact</th>
<td className={styles.td}>Maria Anders</td>
<td className={styles.td}>Francisco Chang</td>
</tr>
<tr className={styles.tr}>
<th className={styles.td}>Country</th>
<td className={styles.td}>Mexico</td>
<td className={styles.td}>UK</td>
</tr>
</table>
);
}
export default App;
有没有办法实现相同的功能,但不破坏转换表结构(我担心它可能会影响可访问性)。
解决方案
不使用 flex 的基本表是否足以实现您正在寻找的内容?
th, td {
border: 1px solid red;
}
<table>
<thead>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
</thead>
<tbody>
<tr>
<td> Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Mexico</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>UK</td>
</tr>
</tbody>
</table>
推荐阅读
- python-sphinx - 带有自动模块的 Sphinx 目录树
- python - 数据框对象在 pyspark 中不可调用
- typescript - 在angular6中使用carosel显示值列表
- python - 加快 pandas 中的数据帧操作
- php - 无法通过邮递员 put 请求提交表单数据
- java - 用@JsonIgnore 覆盖子类中的@JsonProperty
- java - 将数据从一个作曲家发送到另一个作曲家
- linkedin - LinkedIn关注按钮导致about:空白页面
- java - 为什么 jsoup-java 通过连接返回 null html 页面?
- android - 如何在现有数据库中添加表?