【发布时间】:2020-12-09 05:10:37
【问题描述】:
在 Firefox 中,“writing-mode:vertical-lr”会影响输入标签和选择标签。如何在 Chrome 和 Edge 中获得相同的结果?
代码:
.gridContainer {
display:grid;
grid-gap:0;
grid-template-columns:2rem 2rem 16rem;
grid-template-rows:2rem 2rem 8rem;
grid-template-areas:
"verticalSelect verticalDate horizontalName"
"verticalSelect verticalDate horizontalTitle"
"verticalSelect verticalDate horizontalDescription";
background-color:rgba(255,255,255,1);
border:solid 1px rgb(0,0,0);
margin:5rem;
width:20rem;
}
.verticalSelect {
grid-area:verticalSelect;
}
.verticalDate {
grid-area:verticalDate;
}
.verticalSelect, .verticalDate {
writing-mode:vertical-lr;
transform:rotate(180deg);
border:solid 1px rgb(0,0,0);
}
.horizontalName{
grid-area:horizontalName;
border:solid 1px rgb(0,0,0);
}
.horizontalTitle {
grid-area:horizontalTitle;
border:solid 1px rgb(0,0,0);
}
.horizontalDescription {
grid-area:horizontalDescription;
border:solid 1px rgb(0,0,0);
resize: none;
}
<form action="" method="post">
<div class="gridContainer">
<select class="verticalSelect" name="prio">
<option value="A">Prio A</option>
<option value="B" selected>Prio B</option>
<option value="C">Prio C</option>
</select>
<div class="verticalDate">
<label for="deadline">Deadline:</label>
<input type="date" name="deadline">
</div>
<input class="horizontalName" type="text" placeholder="Name" name="name">
<input class="horizontalTitle" type="text" placeholder="Title" name="title">
<textarea class="horizontalDescription" name="description">Description</textarea>
</div>
</form>
this Question 的解决方案仅适用于我示例中的标签标签,但不适用于输入标签或选择标签。
【问题讨论】:
-
我知道这不是您想要的答案,但另一种解决方案是废弃内置的选择/日期选择器并使用已经存在的自定义插件。优点是使用自定义选择插件,它将选择转换为允许您更改 CSS 的 div/列表,并且使用自定义日期选择器,您可以单击非输入元素来调用和使用日期选择器。
-
@imvain2:感谢您的提示!我不确定我的公司是否会接受自定义插件,但我认为如果没有,我可以自己用 javascript 解决它。无论如何,我应该提高我的 javascript 知识。 ;-)
-
创建自定义选择插件应该相对容易,您可以在网上找到教程。但是,日期选择器将是一个更大的问题。您基本上可以将其呈现为:每个人都使用 Firefox,使用不同的布局或使用自定义插件。如果这是他们关心的问题,那里有大量免费的日期选择器。