tensorflow-data-validation 相关问题


Jakarta Validation 注解的使用

如果我想发布一个简单的utils API。是否建议使用 Jakarta Validation 注释,基本上在每个公共方法的每个输入参数上,以表示哪些需要是 @NonNul...


TensorFlow 默认使用多少个核心(不使用 Coordinator)?

我猜tensorflow默认使用单核(当我不使用“Coordinator”时),因为tensorflow是python库。 但是,当我在 Mac 上看到运行 Tensorflow 代码的活动监视器时


信息:为 CPU 创建 TensorFlow Lite XNNPACK 委托

信息:为 CPU 创建了 TensorFlow Lite XNNPACK 委托。 我在运行 OpenCV 程序时得到此输出。请提供解决此问题的方法。


在 Eclipse 中编译期间检查 Jakarta Validation 注释

如果我声明一个在其参数上使用验证注释的方法,例如: 公共无效 myMethod(@NonNull String s){} 我想要 Eclipse 标记 myMethod(空); 作为编译错误...


如何配置验证以对无效输入使用“is-invalid”类

默认情况下,ASP.NET Core 中的输入验证使用类 input-validation-error,但 Bootstrap 5 使用 is-invalid。 我找到了一些解决方案: 创建样式 使用 jQuery.validate.unobtrusi...


在 Visual Studio Code conda 环境中安装后出现“ModuleNotFoundError:没有名为 'tensorflow' 的模块”

我正在寻求在 VSCode 内的 anaconda3 python 笔记本中将tensorflow与conda结合使用。 在 Windows 10 机器上的 anaconda 终端中,我使用了以下命令: conda create --name deeplear...


当我尝试将 model.predict() 与 Keras 顺序模型一起使用时,出现意外的 Tensorflow ResourceExhaustedError

我使用的是 Python 3.9,并且安装了 Tensorflow 2.10 和 CUDA Toolkit 11.2 和 cuDNN 8.2,因为这是 Windows 10 上原生支持的最后一个配置。 我正在使用 NVI 进行训练...


如何在python中为tensorflow中实现的模型创建混淆矩阵?

我正在使用 TensorFlow 在 Python 中训练模型,但我想打印模型预测数据的混淆矩阵(预测与实际)。我怎样才能做到这一点?到目前为止我的代码(不包括数据加载和


从 None 引发 core._status_to_exception(e) tensorflow.python.framework.errors_impl.InvalidArgumentError:

尝试按照本教程在 Citypersons 数据集上训练对象检测模型。 https://neptune.ai/blog/how-to-train-your-own-object- detector-using-tensorflow-object-detection-api 我...


为什么安装tensorflow时出现错误?

CondaError:下载的字节与内容长度网址不匹配:https://repo.anaconda.com/pkgs/main/win-64/cudatoolkit-11.3.1-h59b6b97_2.conda target_path:C:\ Users \ Rustem naconda3\pkg


尝试使用 keras.utils.get_file() 加载数据时出现错误

我在尝试使用 TensorFlow Keras 加载数据集时遇到错误。这是代码: dataset_url =“https://storage.googleapis.com/sample_org/sample_file.zip” data_dir = tf.keras...


仅选择张量第二个维度中的一个元素,将形状 (128, 10, 51) 的 TensorFlow 张量更改为形状 (128, 51) 的张量

我想通过仅选择张量第二个维度中的一个元素,将形状为 (128, 10, 51) 的 TensorFlow 张量更改为形状为 (128, 51) 的张量。我必须在 ndarray 中选择索引,例如 ...


如何对超过1类进行目标检测模型训练?

链接:https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tf2_colab.ipynb 我已经尝试过上面的 google colab 来训练对象检测...


如何解决错误“as.data.frame.default(data) 中的错误:无法强制类‘“lm”’到 data.frame”

abc4 <- lm(Sales~., data=abc4) summary(abc4) abc5 <- lm(Sales~ T+June+July+August+September+October+November+December, data=abc4) summary(abc5) I'm trying to run regression. If I run the fi...


Tensorflow 预处理将字符串分割为字符

我想编写使用 TextVectorization 预处理层,但将字符串拆分为字符。 数据 = tf.constant( [ “大脑比天空更广阔”, “因为把它们放在...


pip install tensorflow 对我不起作用

在 Windows 10 上的 VSCode 中使用新的 venv 并想要安装 matplotlib 和张量流 matplotlib 安装成功,但是张量流也没有尝试使用特定版本,但确实...


tensorflow 中的线程管理如何工作?

作为项目的一部分,我需要管理用张量流编写的 CNN 使用的线程数,从而避免并行化。阅读文档后,我无法理解前...


调查表问题:调查表功能显示的观测值数量与数据中的实际观测值数量不同

数据<- data.frame(X =c(1,4,6,4,1,7,3,2,2),Y = c(6,5,9,9,43,65,45,67,90),weight=c(0.1,1.2,4,0,0,5,0.65,1,0)) dat_design <- svydesign(ids = ~1, data = Data, weights = Data$weight) ab=


Dataflow Tensorflow Transform 将转换后的数据写入 BigQuery

在 GCP Dataflow 管道中,我尝试将转换组件中的转换数据写入 Bigquery 中,但出现以下错误。首先,如果有人能让我知道是否...


为什么我无法安装tensorflow?

我确定我使用的是3.6版本,并且我尝试了一切。 这是我尝试过的: py -m pip 安装张量流 错误:找不到满足张量流要求的版本(来自版本:...


tensorflow malloc 错误“释放的指针未分配”

我在尝试运行我的张量流代码时突然遇到此错误。以前工作得很好,但现在突然出现这个错误。谷歌搜索后,只有一个男人......


为 Data Fusion 或 Cloud Composer 实例分配静态 IP

我正在尝试使用 Google Data Fusion 连接到 Microsoft SQL Server 数据库,并且需要有一个静态 IP。 我尝试在子网上配置静态 IP 并将其连接到 Data Fusion ...


如何让tensorflow keras使用我的GPU?

我正在尝试在张量流中使用keras来训练CNN网络以进行某些图像分类。显然,在我的 CPU 上运行的训练非常慢,所以我需要使用我的 GPU 来进行训练......


AWS SageMaker 端点:调用 boto3.client("s3") 时出现超出最大递归深度错误

当我尝试在已部署的 SageMaker 端点(对于 TensorFlow 模型)上调用 .predict() 时,遇到最大递归深度超出错误。我已将日志语句放入推理脚本中,


tensorflow:无法加载动态库“cudnn64_8.dll”; dlerror:找不到 cudnn64_8.dll

当我运行我的程序时,我看到这个错误: 我有 CUDA 11 并且 bin 文件夹中没有这样的 dll 文件: 我用: Python 3.8.7 CUDA 11.0 张量流2.4.1 此页面上有信息 https://www.


获取世博会资产

访问世博会资产的正确方法是什么? 我试过这个: 等待 Asset.loadAsync(require('file:///assets/data/catalog.json')); 错误: 无法解析“file:///assets/data/catalog.json”...


由于“tf.shape”和“Tensor.shape”,我的代码出现问题。 `tf.shape` 和 `Tensor.shape` 都不起作用

我已经在 Tensorflow 中从头开始编写 DETR 对象检测管道。 DETR:Kaggle Notebook 链接:包含所有代码;制作您自己的笔记本副本以重现该问题 我已经测试过...


使用 TensorFlow 进行神经网络训练期间,损失飙升至 nan

我正在尝试训练一个简单的神经网络模型来对图像是否是叉子图片进行分类。我有 400 张图片,它们都很简单,即工具在一张空白页上。所以我就是


Tensorflow 模型在特定范围内正确,但在休息时错误

我正在使用tensorflow.keras制作一个简单的神经网络来预测sin函数。但该模型在 -15 到 15 范围内是正确的,但在其余部分上是错误的。 这是我的脚本: 将张量流导入为 tf...


将多个对象添加到另一个对象

我一直在开发本教程中制作的应用程序版本(https://learn.microsoft.com/pl-pl/aspnet/core/data/ef-rp/complex-data-model?view =aspnetcore-5.0&tabs=visual-studio)。我有


为什么没有从指针到引用的隐式转换到const指针[重复]

我将用代码来说明我的问题: #包括 void PrintInt(const unsigned char*& ptr) { 整数数据=0; ::memcpy(&data, ptr, sizeof(data)); // 推进 po...


调整 ggplot 条形图中的 x 轴标签

我想移动上方平均线下方的条形标签。 我正在使用这段代码来制作这个图表 水平 <- mean(data$SPAD) quux <- data %>% 选择(基因型,规格...


AOS 中的数据绑定 - 可能吗?

我在我的角度项目中使用滚动动画,我有一堆图像,我想一个接一个地显示它们。 我在我的角度项目中使用滚动动画,我有一堆图像,我想一个接一个地显示它们。 <div class="img-gallery"> <div *ngFor="let imgSrc of images" data-aos="zoom-in"> <img [src]="imgSrc"> </div> </div> 我想为每个包装 div 添加 data-aos-delay 指令,就像这样 <div *ngFor="let imgSrc of images; let i = idnex" data-aos="zoom-in" [data-aos-delay]="i * 100"> <img [src]="imgSrc"> </div> 但是,不出所料 - 它向我显示了错误 无法绑定到“data-aos-delay”,因为它不是“div”的已知属性 我怎样才能实现它?任何实施都将感激地接受 可以改成下面吗 <div *ngFor="let imgSrc of images; let i = idnex" data-aos="zoom-in" data-aos-delay="{{i * 100}}"> <img [src]="imgSrc"> </div>


运行 npx json-server --watch Data/db.json --port 8000 时,它会抛出一个新错误

每当我运行 npx json-server --watch Data/db.json --port 8000 时,它都会抛出错误 类型错误 [ERR_PARSE_ARGS_UNKNOWN_OPTION]:未知选项“--watch”。要指定位置参数星...


绑定了formControlName后,如何在html中使用它?

我当前有问题的 html 部分是这样的 ... 我的 html 当前有问题的部分是这个 <div class="psi-list"> <div class="flex-row" *ngFor="let item of psiList; index as i"> <p class="row-psi">{{ item.psi }}</p> <button class="icon-btn" (click)="deletePsi(item.psi)"><i class="cil-trash"></i></button> <button class="icon-btn" (click)="item.toggle = !item.toggle"><i class="cil-pen-alt"></i></button> <form [formGroup]="psiEditForm" id="psi-edit-form" class="form-horizontal" [hidden]="!item.toggle"> <input class="psi-input" type="text" placeholder="Update PSI here..." [(ngModel)]="psiEdit" [ngClass]="{'is-valid': !checkControlValidation(psiEditForm.controls.psi) && psiEditForm.controls.psi.touched, 'is-invalid': checkControlValidation(psiEditForm.controls.psi)}" (keydown.enter)="!psiEditForm.controls.psi.invalid ? editPsi(item.psi) : clearPsiEdit()" formControlName="psi" /> <div class="help-block validation-warning" *ngIf="checkControlValidation(psiEditForm.controls.psi)"><i class="fa fa-exclamation fa-lg"></i>Please Enter a Valid 2 Letter PSI</div> </form> </div> </div> 我使用 formControlName“psi”将控件传递给 .ts 文件中的 checkControlValidation 方法。然而,这会导致功能问题。每当我在一个输入框中输入内容时,它都会将其输入到 *ngFor 中的所有输入框中。 当我将表单控件名称更改为这个时 - [formControlName]="item.psi" 它将名称绑定到与其相关的项目,因此理论上我可以通过它来解决我的问题。但是,当我将 psiEditForm.controls.psi 的所有实例更改为 psiEditForm.controls.item.psi 时,我收到很多 TS2339 错误。 我有什么想法可以使用它吗?抱歉,我知道这可能措辞很糟糕 尝试这样 <div class="psi-list"> <div class="flex-row" *ngFor="let item of psiList; index as i"> <p class="row-psi">{{ item.psi }}</p> <button class="icon-btn" (click)="deletePsi(item.psi)"><i class="cil-trash"></i></button> <button class="icon-btn" (click)="item.toggle = !item.toggle"><i class="cil-pen-alt"></i></button> <form [formGroup]="psiEditForm" id="psi-edit-form" class="form-horizontal" [hidden]="!item.toggle"> <input class="psi-input" type="text" placeholder="Update PSI here..." [(ngModel)]="psiEdit" [ngModelOptions]="{standalone: true}" [ngClass]="{'is-valid': !checkControlValidation(psiEditForm.controls.psi) && psiEditForm.controls.psi.touched, 'is-invalid': checkControlValidation(psiEditForm.controls.psi)}" (keydown.enter)="!psiEditForm.controls.psi.invalid ? editPsi(item.psi) : clearPsiEdit()" formControlName="psi" /> <div class="help-block validation-warning" *ngIf="checkControlValidation(psiEditForm.controls.psi)"> <i class="fa fa-exclamation fa-lg"></i>Please Enter a Valid 2 Letter PSI </div> </form> </div> </div>


有没有办法在有条件的情况下隐藏v-data-table中的展开按钮?

借助 v-data-table 中的“show-expand”属性,展开按钮会显示在数据表的所有行中。 借助 v-data-table 中的“show-expand”属性,展开按钮会显示在数据表的所有行中。 <v-data-table :expanded.sync="expanded1" :headers="headers1" :items="items" show-expand class="elevation-1" > 有没有办法根据 Vuetify 3 中的条件进行渲染? 在 Vuetify 2 中,使用 item.data-table-expand 插槽来实现此目的。 <template #item.data-table-expand="{ item, expand, isExpanded }"> <td v-if="item?.versions?.length > 0" class="text-start"> <v-btn variant="text" density="comfortable" @click="expand(!isExpanded)" class="v-data-table__expand-icon" :class="{ 'v-data-table__expand-icon--active': isExpanded }" > <v-icon>mdi-chevron-down</v-icon> </v-btn> </td> </template> 但是,在 Vuetify 3 中使用相同的代码块会返回类型错误: Uncaught TypeError: expand is not a function expand 现在是 toggleExpand 并期望 internalItem 插槽道具 <template #item.data-table-expand="{ item, internalItem, toggleExpand, isExpanded }"> <td v-if="item?.versions?.length > 0" class="text-start"> <v-btn variant="text" density="comfortable" @click="toggleExpand(internalItem)" class="v-data-table__expand-icon" :class="{ 'v-data-table__expand-icon--active': isExpanded }" > <v-icon>mdi-chevron-down</v-icon> </v-btn> </td> </template>


带有 std::enable_if 的嵌套模板类,C++

我有一个模板类B,其第一个参数T1必须继承类A,第二个参数T2用于嵌套类C: A 类 { ... }; 模板 我有一个模板类B,其第一个参数T1必须继承类A,第二个参数T2用于嵌套类C: class A { ... }; template<typename T1, typename T2 = T1, typename = std::enable_if_t<std::is_base_of<A, T1>::value>> class B { class C { T2 data; C(T2 data); void func(); ... }; ... }; 问题是当我尝试定义嵌套类的构造函数和方法时出现错误: template<typename T1, typename T2, typename> B<T1, T2>::C::C(T2 data) : data(data) { ... } template<typename T1, typename T2, typename> void B<T1, T2>::C::func() { ... } E0464“B::value, void>>::C”不是类模板; C3860 类类型名称后面的类型参数列表必须按照类型参数列表中使用的顺序列出参数。 如果我不使用嵌套类或不使用 std::enable_if,代码可以正常工作,但在这里我需要它们,而且我真的不明白出了什么问题。 定义构造函数时仍然需要提供默认的模板参数: template<typename T1, typename T2, typename D> B<T1, T2, D>::C::C(T2 data) : data(data) { } 或者,由于最后一个参数仅用于 SFINAE 目的并且始终旨在为 void,因此您可以编写: template<typename T1, typename T2> B<T1, T2, void>::C::C(T2 data) : data(data) { } 请注意,最好在 C 中定义构造函数。 无论如何,大多数时候你都无法将模板拆分为标头/源代码,并且处理类模板的外线定义可能非常烦人且脆弱。 C++17 和 C++20 的注意事项 如果您使用的是 C++20,您可以编写: template<std::derived_from<A> T1, typename T2 = T1> class B { /* ... */ }; template<std::derived_from<A> T1, typename T2> B<T1, T2>::C::C(T2 data) : data(data) { } 如果您使用的是 C++17,您至少可以使用辅助变量模板std::is_base_of_v<A, T1>。


将 Spring Data Rest 与反应式存储库一起使用时,FluxUsingWhen 无法转换为 Iterable 错误

我配置了一个 ReactiveSortingRepository 来查看 Spring Data Rest 上的反应功能,过去我主要使用 PagingAndSortingRepository 将资源公开为 REST 端点,所以想要...


OpenEdge ABL JSON 到临时表:READ-JSON

我如何将其(如下)读取到临时表中: { “参数”:{ }, "data": "{\"姓名\":\"morpheus11\",\"工作\":\"leader1221\"}&qu...


如何将自定义用户类型作为参数传递给 Spring Data JPA 查询方法?

我有一个 Spring data JPA 存储库,它由 postgresql 数据库支持。作为查询的一部分,我想在查询中使用间隔。我设法通过创建一个 SQLFunction 来实现它...


从 html 中提取 <h2> 标题文本,其中标题文本可能包含 <code> 和 </code> 标签

我有一个 html 文件,其中包含一些 标签,例如 一个<- ' 我有一个 html 文件,其中包含一些 <h2> 标签,例如 a <- '<section id="sec-standard-stoet-geary" class="level2" data-number="9.4"> <h2 data-number="9.4" class="anchored" data-anchor-id="sec-standard-stoet-geary"> <span class="header-section-number">9.4</span> Standardising PISA results</h2>' b <- '</span> <span class="fu">read_parquet</span>(<span class="st">"&lt;folder&gt;PISA_2015_student_subset.parquet"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre> </div> </div> </section><section id="sec-leftjoin" class="level2" data-number="9.3"><h2 data-number="9.3" class="anchored" data-anchor-id="sec-leftjoin"> <span class="header-section-number">9.3</span> Linking data using <code>left_join</code> </h2> <p>' 我可以使用以下方法提取a的标题: str_extract_all(a, '(?<=(<[/]span>)).*(?=(<[/]h))')[[1]] %>% str_squish() > [1] "Standardising PISA results" 但是在 b 上尝试这个不会返回任何结果: str_extract_all(b, '(?<=(<[/]span>)).*(?=(<[/]h))')[[1]] %>% str_squish() > character(0) 编辑:从评论来看,这似乎是正则表达式无法解析换行符。 我尝试在正则表达式(?s)中启用单行模式进行解析,但它仍然不起作用 我会在这里使用 html 解析器而不是正则表达式: library(rvest) read_html(a) |> html_elements("h2") |> html_text() |> trimws() #> [1] "9.4 Standardising PISA results" read_html(b) |> html_elements("h2") |> html_text() |> trimws() #> [1] "9.3 Linking data using left_join"


如何利用v-data-table中的item-class来增加字体大小?

我对 VueJs 比较陌生,并尝试将我的 v-data-table 项目(Vuetify 2)中的字体大小更新为 20px。在这样做的过程中,我遇到了物品等级。这种方法对 chang 来说是成功的...


在 MUI Data Grid v6 中更新另一个单元格时,如何在编辑模式下更新一个单元格?

我正在使用 MUI Data Grid v6 组件并利用其内置的 CRUD 编辑功能。我有多个列,所有列都可以编辑。在我的“类别&...”列中选择新值后


RxJs 计时器仅调用一次,而不是每秒调用一次

下面是我的代码: this.callActiveListSubscription = 定时器(0,1000).pipe(switchMap(() => this.realtimeSupervisorHeatMapService.getLiveCallList())).subscribe((data: any) => { 控制台.log('


从 html 中提取 <h2> 标题文本,其中标题文本可能包含换行符

我有一个 html 文件,其中包含一些 标签,例如 一个<- ' 我有一个 html 文件,其中包含一些 <h2> 标签,例如 a <- '<section id="sec-standard-stoet-geary" class="level2" data-number="9.4"> <h2 data-number="9.4" class="anchored" data-anchor-id="sec-standard-stoet-geary"> <span class="header-section-number">9.4</span> Standardising PISA results</h2>' b <- '</span> <span class="fu">read_parquet</span>(<span class="st">"&lt;folder&gt;PISA_2015_student_subset.parquet"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre> </div> </div> </section><section id="sec-leftjoin" class="level2" data-number="9.3"><h2 data-number="9.3" class="anchored" data-anchor-id="sec-leftjoin"> <span class="header-section-number">9.3</span> Linking data using <code>left_join</code> </h2> <p>' 我可以使用以下方法提取a的标题: str_extract_all(a, '(?<=(<[/]span>)).*(?=(<[/]h))')[[1]] %>% str_squish() > [1] "Standardising PISA results" 但是在 b 上尝试这个不会返回任何结果: str_extract_all(b, '(?<=(<[/]span>)).*(?=(<[/]h))')[[1]] %>% str_squish() > character(0) 编辑:从评论来看,这似乎是正则表达式无法解析换行符。 我尝试在正则表达式(?s)中启用单行模式进行解析,但它仍然不起作用 我会在这里使用 html 解析器而不是正则表达式: library(rvest) read_html(a) |> html_elements("h2") |> html_text() |> trimws() #> [1] "9.4 Standardising PISA results" read_html(b) |> html_elements("h2") |> html_text() |> trimws() #> [1] "9.3 Linking data using left_join" 这是一个辅助函数,它将选择具有跨度的 H2 元素,但会忽略跨度 library(xml2) geth2 <- function(x) { temp <- read_html(x) %>% xml_find_all("//h2[span]") xml_remove(xml_find_all(temp, ".//span")) temp %>% xml_text() %>% stringr::str_squish() } geth2(a) # [1] "Standardising PISA results" geth2(b) # [1] "Linking data using left_join"


检查play.api.libs.json.Json中是否存在密钥

包含类似 play.api.libs.json.Json 的功能 val data=Map("id" -> "240190", "密码" -> "密码","电子邮件" -> "[email protected]") data.contains("email")//true val信息=Json...


我无法用vue.js显示json

我需要使用 v-for 显示 json 中的产品数组,但我无法这样做。 我正在尝试显示产品数组中的 json 数据,但它不起作用。 Vue.js 我需要使用 v-for 显示 json 中的产品数组,但我无法这样做。 我正在尝试显示产品数组中的 json 数据,但它不起作用。 Vue.js <div class="box" v-for="product in products" :key="product.id"> <h2>Produto {{ product.name }}</h2> <h3>Situação {{ product.situation }}</h3> </div> export default { data() { return { products: [], }; }, methods: { async getData() { try { const req = await fetch("http://localhost:3000/products"); const data = await req.json(); this.products = data.products; console.log("data" + data); } catch (error) { console.error("Error fetching data:", error); } }, mounted() { this.getData(); }, }, }; JSON: { "products": [ { "id": "a898", "name": "Claudio Romano", "situation": "Ativo" } ] } 您问错了问题,因为该问题与 JSON 无关。如果您对此进行调试,您会注意到 console.logs 不执行,这意味着问题更为根本,因为该方法本身并未实际运行。 根本问题是mounted()不应该在methods内部。您正在使用 Vue 的选项 API,其中 data()、methods 和 mounted 都是独立的、单独的“选项”。您需要将安装移动到方法之外,它应该是一个“兄弟”选项。 export default { data() { ... }, methods: { ... }, mounted() { this.getData(); }, }; 游乐场演示


AOS - 如何在向上滚动时不再隐藏元素

我在我的角度项目中使用aos库,并将其附加到元素上 我在我的 Angular 项目中使用 aos 库,并将其附加到元素 <div data-aos="zoom-in"></div 它工作正常,但我的问题是,当我向上滚动时 - 元素消失,向下滚动 - 再次出现。 我认为这是 AOS 的默认行为,所以我的问题是 - 我该如何更改它?因此,当滚动到元素出现后的任意位置时,它会静态地停留在那里并且不会消失。 感谢您的每一个回答。 您可以使用如下属性data-aos-once="true"来避免元素在向上滚动时消失。 <div data-aos="zoom-in" data-aos-once="true"></div> 注意:使用data-aos-once="true"时,AOS效果只会起作用一次。


PySpark 分区镶木地板需要很长时间才能加载,即使使用指定的模式

设置:我有一个包含约 1300 个分区 parquet 文件的文件夹(例如 C:\Project Data\Data-*.parquet),其中 * 是一个计数器,每个文件大小约为 8MB。所有文件都具有相同的架构。 我是茹...


CSS 在窄屏幕上显示每个单元格一行的表格

我的 HTML 看起来有点像这样 我的 HTML 看起来有点像这样 <html><body><table> <thead><tr><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th></tr></thead> <tbody> <tr><td>1A</td><td>1B</td><td>1C</td><td>1D</td><td>1E</td></tr> <tr><td>2A</td><td>2B</td><td>2C</td><td>2D</td><td>2E</td></tr> <tr><td>3A</td><td>3B</td><td>3C</td><td>3D</td><td>3E</td></tr> </tbody> </table></body></html> 每一行代表一个对象,列是它的属性。实际上,单元格值相当长——有时甚至有 20-30 个字符长。它在大多数设备上渲染良好,但在较小的手机上可能会出现问题。我知道我可以在狭窄的设备上抑制某些列,但在这个特定的情况下感觉不太好。目前我的桌子上有 x-overflow: scroll,但我更希望有一些 CSS 可以使表格在窄设备上呈现得更像这样: A: 1A B: 1B C: 1C D: 1D E: 1E ----- A: 2A B: 2B C: 2C D: 2D E: 2E ----- (etc) 我了解如何测试设备宽度,因此出于这个问题的目的,我们假设我想无条件地执行此操作。稍微更改一下 HTML 标记就可以了,例如添加额外的类或属性,尽管我想使用 <table> 元素来保留它,每个逻辑行有一个 <tr>。这是为了向后兼容,因为我知道有相当多的用户会抓取该网站(尽管存在更简洁的 API)。由于内部政治,如果可能的话,我宁愿避免需要 Javascript 的解决方案(并且无论如何,如果需要,我知道如何编写 JS 解决方案)。 我可以做到这一点,但我不知道如何从这里硬编码为“X”的字段名称开始: thead { display: none; } table, tr, td { display: block; } tr + tr { border-top: thin solid black; } td::before { content: "X:"; display: inline-block; width: 2em; } 我见过很多网站都在做这种事情,但目前我正在努力寻找一个在 CSS 中做这件事的网站。看起来这应该是一个常见问题,但我很难知道要搜索哪些术语,因此可能会在这里或其他地方错过一些很好的解释。 你就快到了。可能会使用例如data-col 元素上的 <td> 属性并在 CSS 中引用它们 content 上的 :before thead { display: none; } table, tr, td { display: block; } tr+tr { border-top: thin solid black; } td::before { content: attr(data-col)':'; display: inline-block; width: 2em; } <table> <thead> <tr> <th>A</th> <th>B</th> <th>C</th> <th>D</th> <th>E</th> </tr> </thead> <tbody> <tr> <td data-col="A">1A</td> <td data-col="B">1B</td> <td data-col="C">1C</td> <td data-col="D">1D</td> <td data-col="E">1E</td> </tr> <tr> <td data-col="A">2A</td> <td data-col="B">2B</td> <td data-col="C">2C</td> <td data-col="D">2D</td> <td data-col="E">2E</td> </tr> <tr> <td data-col="A">3A</td> <td data-col="B">3B</td> <td data-col="C">3C</td> <td data-col="D">3D</td> <td data-col="E">3E</td> </tr> </tbody> </table> ABCD


© www.soinside.com 2019 - 2024. All rights reserved.