gpt4 book ai didi

css - 纸张复选框和-webkit-column-count

转载 作者:行者123 更新时间:2023-11-28 11:05:28 26 4
gpt4 key购买 nike

这是我已经研究了一段时间的东西,但我无法找出这里发生了什么。

在此example您可以使用 css 规则 -webkit-column-count 看到一个复选框列表如何分布在一个 div 上。

问题是复选标记由于某种原因在除第一列之外的所有列上都被隐藏了。您有解决此问题的任何提示吗?

我在这里附加了一个小例子,但请检查我的 jsfiddle 以获得更好的情况描述 View 。谢谢!

.valueLabel {
/* height: 24px; */
padding: 7px 12px;
width: 400px;
}
.valueLabel paper-checkbox {
margin-right: 12px;
}
.valueLabel paper-checkbox::shadow #ink[checked] {
color: #f39200;
}
.valueLabel paper-checkbox::shadow #checkbox.checked {
border-color: #f39200;
background-color: #f39200;
/* Version 0.7 paper-checkbox */
}
/* COLUMNS */

.valuesContainer {
overflow-y: scroll;
padding: 0px 16px;
}
.valuesContainer > #valuesDiv {
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
column-break-inside: avoid;
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
-webkit-column-gap: 0px;
-moz-column-gap: 0px;
column-gap: 0px;
}
.valuesContainer > #valuesDiv .valuesGroup {
display: inline-block;
}
.valuesContainer > #valuesDiv .valuesGroup > span {
text-transform: uppercase;
}
/* LAYOUT WRAP */

.valuesContainer > core-label {
width: 30%;
/* 3 COLUMNS */
line-height: 16px;
font-size: small;
}
.valuesContainer > #valuesDiv core-label.valueLabel {
display: inline-flex;
}
/* FIX THAT I USED TO SHOW ALL CHECKS WHEN THEY ARE ON COLUMNS, USED ON PAPER ELEMENTS >= v0.7 */

/* IT DOES NOT WORK ANYMORE */

.valueLabel paper-checkbox::shadow #checkbox.checked #checkmark {
position: fixed;
margin-top: 2px;
margin-left: 2px;
}
<script src="https://www.polymer-project.org/0.5/components/webcomponentsjs/webcomponents.js"></script>
<link rel="import" href="https://www.polymer-project.org/0.5/components/polymer/polymer.html">
<link rel="import" href="https://www.polymer-project.org/0.5/components/paper-elements/paper-elements.html">
<link rel="import" href="https://www.polymer-project.org/0.5/components/core-elements/core-elements.html">
<div class="valuesContainer">
<div id="valuesDiv">
<core-label class="valueLabel" horizontal="" layout="" id="core-label-0">
<paper-checkbox id="1" checked></paper-checkbox>
<div>January</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-1">
<paper-checkbox id="2"></paper-checkbox>
<div>February</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-2">
<paper-checkbox id="3" checked></paper-checkbox>
<div>March</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-3">
<paper-checkbox id="4" checked></paper-checkbox>
<div>April</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-4">
<paper-checkbox id="5"></paper-checkbox>
<div>May</div>
</core-label>

</div>
</div>

最佳答案

您遇到了渲染错误。尝试纠正此问题的一种方法是强制 GPU 渲染。有几种方法可以做到这一点,我最喜欢的是使用 transform:translate3d(0,0,0)。然而,问题是需要它的元素 (#checkbox.checked #checkmark) 已经有一个转换。您可以通过设置背面可见性来获得相同的结果。我在下面的演示中使用以下规则执行此操作:

.valueLabel paper-checkbox::shadow #checkbox.checked #checkmark {
...
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
}

演示

.valueLabel {
/* height: 24px; */
padding: 7px 12px;
width: 400px;
}
.valueLabel paper-checkbox {
margin-right: 12px;
}
.valueLabel paper-checkbox::shadow #ink[checked] {
color: #f39200;
}
.valueLabel paper-checkbox::shadow #checkbox.checked {
border-color: #f39200;
background-color: #f39200;
/* Version 0.7 paper-checkbox */
}
/* COLUMNS */

.valuesContainer {
overflow-y: scroll;
padding: 0px 16px;
}
.valuesContainer > #valuesDiv {
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
column-break-inside: avoid;
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
-webkit-column-gap: 0px;
-moz-column-gap: 0px;
column-gap: 0px;
}
.valuesContainer > #valuesDiv .valuesGroup {
display: inline-block;
}
.valuesContainer > #valuesDiv .valuesGroup > span {
text-transform: uppercase;
}
/* LAYOUT WRAP */

.valuesContainer > core-label {
width: 30%;
/* 3 COLUMNS */
line-height: 16px;
font-size: small;
}
.valuesContainer > #valuesDiv core-label.valueLabel {
display: inline-flex;
}
/* FIX THAT I USED TO SHOW ALL CHECKS WHEN THEY ARE ON COLUMNS, USED ON PAPER ELEMENTS >= v0.7 */

/* IT DOES NOT WORK ANYMORE */

.valueLabel paper-checkbox::shadow #checkbox.checked #checkmark {
position: fixed;
margin-top: 2px;
margin-left: 2px;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
}
<script src="https://www.polymer-project.org/0.5/components/webcomponentsjs/webcomponents.js"></script>
<link rel="import" href="https://www.polymer-project.org/0.5/components/polymer/polymer.html">
<link rel="import" href="https://www.polymer-project.org/0.5/components/paper-elements/paper-elements.html">
<link rel="import" href="https://www.polymer-project.org/0.5/components/core-elements/core-elements.html">
<div class="valuesContainer">
<div id="valuesDiv">
<core-label class="valueLabel" horizontal="" layout="" id="core-label-0">
<paper-checkbox id="1" checked></paper-checkbox>
<div>January</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-1">
<paper-checkbox id="2"></paper-checkbox>
<div>February</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-2">
<paper-checkbox id="3" checked></paper-checkbox>
<div>March</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-3">
<paper-checkbox id="4" checked></paper-checkbox>
<div>April</div>
</core-label>

<core-label class="valueLabel" horizontal="" layout="" id="core-label-4">
<paper-checkbox id="5"></paper-checkbox>
<div>May</div>
</core-label>

</div>
</div>

关于css - 纸张复选框和-webkit-column-count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36599313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com