- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我非常喜欢 css grid,因为它很简单。但是 flexbox 没有的 css grid 似乎存在性能问题。
我已经实现了一个两列全屏页面,两列都有一个带有输入框的表单和一个带有溢出-y:auto 的元素列表。一个使用 flexbox 实现左右面板的示例,以及使用 css grid 实现左右面板的一个示例。
这是 flexbox 版本:https://web-platform-wtfgmj.stackblitz.io/
这是 css 网格版本:https://web-platform-wtfgmj.stackblitz.io/index2.html
在 chrome 中打开开发者工具并启用绘画闪烁(必须启用工具/渲染)。
在输入框之一中键入时,css 网格版本将重新绘制列表中的所有元素。 flexbox 版本没有这个问题。
我想了解为什么 css grid 在输入框中键入时会重新绘制列表中的所有元素?它可以以某种方式避免吗?
更新:似乎是 stackblitz 的问题...
包含为代码片段
更新 2:因为它有点被评论所掩盖:
所以我用 chrome 提交了一个错误报告(bugs.chromium.org/p/chromium/issues/detail?id=1204446,根据 dgrogan 的建议),他们似乎确认这是 chrome 当前网格实现的性能问题。显然他们正忙于一个新的实现 LayoutNGGrid 来解决这个问题
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: border-box;
box-shadow: none;
}
my-app {
display: flex;
flex-flow: column;
width: 100vw;
height: 100vh;
background-color: rgba(255, 0, 0, 0.1);
}
.header {
display: grid;
grid-template-columns: 3fr 7fr;
grid-template-rows: 1em;
gap: 0.6em;
align-items: flex-start;
margin: 1em;
}
.itemspanel {
display: flex;
flex: 1 1 auto;
flex-flow: column;
min-height: 0;
}
.itemheader {
flex: 0 0 auto;
}
.items {
flex: 1 1 auto;
display: flex;
flex-flow: column;
overflow-y: auto;
min-height: 0;
}
.itemrow {
display: flex;
flex-wrap: wrap;
padding-bottom: 1em;
}
.itemrow > span:nth-child(1) {
flex-basis: 30%;
flex-grow: 1;
}
.itemrow > span:nth-child(2) {
flex-basis: 70%;
flex-grow: 1;
}
.itemrowgrid {
display: grid;
grid-template-columns: 1fr 2fr;
padding: 0 0.5em 1em 0.5em;
}
.panels {
flex: 1 1 100%;
display: grid;
grid-template:
"left right" 1fr
/ 1fr 2fr;
gap: 1em;
min-height: 0;
}
.panelleft {
display: flex;
flex-flow: column;
grid-area: left;
min-height: 0;
}
.panelright {
display: flex;
flex-flow: column;
grid-area: right;
min-height: 0;
}
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<my-app ng-version="11.0.8">
<div class="panels">
<div class="panelleft">
<form novalidate="" name="frmFilters" autocomplete="off" class="header ng-valid ng-touched ng-dirty">
<label >Search:</label><input type="text" name="name" ng-reflect-name="name" ng-reflect-model="00000" class="ng-valid ng-touched ng-dirty"><label ></label><button type="button">Search</button>
</form>
<div class="itemspanel">
<div class="itemheader"></div>
<div class="items">
<div class="itemrowgrid"><span >Joelynn</span><span >Hitzmann</span></div>
<div class="itemrowgrid"><span >Farris</span><span >Espine</span></div>
<div class="itemrowgrid"><span >Linnet</span><span >Nare</span></div>
<div class="itemrowgrid"><span >Heidie</span><span >Coolican</span></div>
<div class="itemrowgrid"><span >Ulrike</span><span >Lowndsborough</span></div>
<div class="itemrowgrid"><span >Claudine</span><span >Caneo</span></div>
<div class="itemrowgrid"><span >Janella</span><span >Thurborn</span></div>
<div class="itemrowgrid"><span >Menard</span><span >Wolledge</span></div>
<div class="itemrowgrid"><span >Alasteir</span><span >Annandale</span></div>
<div class="itemrowgrid"><span >Isabelita</span><span >Byrom</span></div>
<div class="itemrowgrid"><span >Jim</span><span >Issard</span></div>
<div class="itemrowgrid"><span >Mic</span><span >Tiddeman</span></div>
<div class="itemrowgrid"><span >Carce</span><span >McClunaghan</span></div>
<div class="itemrowgrid"><span >Archibaldo</span><span >Jacqueme</span></div>
<div class="itemrowgrid"><span >Sybilla</span><span >Vivyan</span></div>
<div class="itemrowgrid"><span >Herve</span><span >Lund</span></div>
<div class="itemrowgrid"><span >Wade</span><span >Calway</span></div>
<div class="itemrowgrid"><span >Irita</span><span >Newvell</span></div>
<div class="itemrowgrid"><span >Lucie</span><span >Hurrion</span></div>
<div class="itemrowgrid"><span >Sherie</span><span >Bapty</span></div>
<div class="itemrowgrid"><span >Estella</span><span >Lettington</span></div>
<div class="itemrowgrid"><span >Lion</span><span >Ganforthe</span></div>
<div class="itemrowgrid"><span >Siouxie</span><span >January 1st</span></div>
<div class="itemrowgrid"><span >Clay</span><span >Knightsbridge</span></div>
<div class="itemrowgrid"><span >Shir</span><span >Desesquelle</span></div>
<div class="itemrowgrid"><span >Magda</span><span >Brew</span></div>
<div class="itemrowgrid"><span >Didi</span><span >Scanlon</span></div>
<div class="itemrowgrid"><span >Petr</span><span >Clerk</span></div>
<div class="itemrowgrid"><span >Frazier</span><span >Harler</span></div>
<div class="itemrowgrid"><span >Deonne</span><span >Scoffham</span></div>
<div class="itemrowgrid"><span >Meggi</span><span >Klampk</span></div>
<div class="itemrowgrid"><span >Darby</span><span >Huey</span></div>
<div class="itemrowgrid"><span >Berna</span><span >Batram</span></div>
<div class="itemrowgrid"><span >Ashli</span><span >Ducarel</span></div>
<div class="itemrowgrid"><span >Marilin</span><span >Gothup</span></div>
<div class="itemrowgrid"><span >Mariya</span><span >Fettis</span></div>
<div class="itemrowgrid"><span >Anett</span><span >Stookes</span></div>
<div class="itemrowgrid"><span >Adella</span><span >Wash</span></div>
<div class="itemrowgrid"><span >Ricky</span><span >Pellamonuten</span></div>
<div class="itemrowgrid"><span >Nora</span><span >Hourigan</span></div>
<div class="itemrowgrid"><span >Pancho</span><span >Wynn</span></div>
<div class="itemrowgrid"><span >Magdaia</span><span >Walthall</span></div>
<div class="itemrowgrid"><span >Thatch</span><span >Llorente</span></div>
<div class="itemrowgrid"><span >Margaretta</span><span >Ramiro</span></div>
<div class="itemrowgrid"><span >Jacques</span><span >Smallacombe</span></div>
<div class="itemrowgrid"><span >Gamaliel</span><span >Learoyd</span></div>
<div class="itemrowgrid"><span >Jyoti</span><span >Sholl</span></div>
<div class="itemrowgrid"><span >Elbertine</span><span >Larwell</span></div>
<div class="itemrowgrid"><span >Sebastian</span><span >Alvarado</span></div>
<div class="itemrowgrid"><span >Mart</span><span >Hentzeler</span></div>
</div>
</div>
</div>
<div class="panelright d2">
<form novalidate="" name="frmFilters" autocomplete="off" class="header ng-valid ng-dirty ng-touched">
<label >Search:</label><input type="text" name="name1" ng-reflect-name="name1" ng-reflect-model="0000" class="ng-valid ng-dirty ng-touched"><label ></label><button type="button">Search</button>
</form>
<div class="itemspanel">
<div class="itemheader"></div>
<div class="items">
<div class="itemrowgrid"><span >Joelynn</span><span >Hitzmann</span></div>
<div class="itemrowgrid"><span >Farris</span><span >Espine</span></div>
<div class="itemrowgrid"><span >Linnet</span><span >Nare</span></div>
<div class="itemrowgrid"><span >Heidie</span><span >Coolican</span></div>
<div class="itemrowgrid"><span >Ulrike</span><span >Lowndsborough</span></div>
<div class="itemrowgrid"><span >Claudine</span><span >Caneo</span></div>
<div class="itemrowgrid"><span >Janella</span><span >Thurborn</span></div>
<div class="itemrowgrid"><span >Menard</span><span >Wolledge</span></div>
<div class="itemrowgrid"><span >Alasteir</span><span >Annandale</span></div>
<div class="itemrowgrid"><span >Isabelita</span><span >Byrom</span></div>
<div class="itemrowgrid"><span >Jim</span><span >Issard</span></div>
<div class="itemrowgrid"><span >Mic</span><span >Tiddeman</span></div>
<div class="itemrowgrid"><span >Carce</span><span >McClunaghan</span></div>
<div class="itemrowgrid"><span >Archibaldo</span><span >Jacqueme</span></div>
<div class="itemrowgrid"><span >Sybilla</span><span >Vivyan</span></div>
<div class="itemrowgrid"><span >Herve</span><span >Lund</span></div>
<div class="itemrowgrid"><span >Wade</span><span >Calway</span></div>
<div class="itemrowgrid"><span >Irita</span><span >Newvell</span></div>
<div class="itemrowgrid"><span >Lucie</span><span >Hurrion</span></div>
<div class="itemrowgrid"><span >Sherie</span><span >Bapty</span></div>
<div class="itemrowgrid"><span >Estella</span><span >Lettington</span></div>
<div class="itemrowgrid"><span >Lion</span><span >Ganforthe</span></div>
<div class="itemrowgrid"><span >Siouxie</span><span >January 1st</span></div>
<div class="itemrowgrid"><span >Clay</span><span >Knightsbridge</span></div>
<div class="itemrowgrid"><span >Shir</span><span >Desesquelle</span></div>
<div class="itemrowgrid"><span >Magda</span><span >Brew</span></div>
<div class="itemrowgrid"><span >Didi</span><span >Scanlon</span></div>
<div class="itemrowgrid"><span >Petr</span><span >Clerk</span></div>
<div class="itemrowgrid"><span >Frazier</span><span >Harler</span></div>
<div class="itemrowgrid"><span >Deonne</span><span >Scoffham</span></div>
<div class="itemrowgrid"><span >Meggi</span><span >Klampk</span></div>
<div class="itemrowgrid"><span >Darby</span><span >Huey</span></div>
<div class="itemrowgrid"><span >Berna</span><span >Batram</span></div>
<div class="itemrowgrid"><span >Ashli</span><span >Ducarel</span></div>
<div class="itemrowgrid"><span >Marilin</span><span >Gothup</span></div>
<div class="itemrowgrid"><span >Mariya</span><span >Fettis</span></div>
<div class="itemrowgrid"><span >Anett</span><span >Stookes</span></div>
<div class="itemrowgrid"><span >Adella</span><span >Wash</span></div>
<div class="itemrowgrid"><span >Ricky</span><span >Pellamonuten</span></div>
<div class="itemrowgrid"><span >Nora</span><span >Hourigan</span></div>
<div class="itemrowgrid"><span >Pancho</span><span >Wynn</span></div>
<div class="itemrowgrid"><span >Magdaia</span><span >Walthall</span></div>
<div class="itemrowgrid"><span >Thatch</span><span >Llorente</span></div>
<div class="itemrowgrid"><span >Margaretta</span><span >Ramiro</span></div>
<div class="itemrowgrid"><span >Jacques</span><span >Smallacombe</span></div>
<div class="itemrowgrid"><span >Gamaliel</span><span >Learoyd</span></div>
<div class="itemrowgrid"><span >Jyoti</span><span >Sholl</span></div>
<div class="itemrowgrid"><span >Elbertine</span><span >Larwell</span></div>
<div class="itemrowgrid"><span >Sebastian</span><span >Alvarado</span></div>
<div class="itemrowgrid"><span >Mart</span><span >Hentzeler</span></div>
</div>
</div>
</div>
</div>
</my-app>
</body>
</html>
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: border-box;
box-shadow: none;
}
my-app {
display: flex;
flex-flow: column;
width: 100vw;
height: 100vh;
background-color: rgba(255, 0, 0, 0.1);
}
.header {
display: grid;
grid-template-columns: 3fr 7fr;
grid-template-rows: 1em;
gap: 0.6em;
align-items: flex-start;
margin: 1em;
}
.itemspanel {
display: flex;
flex: 1 1 auto;
flex-flow: column;
min-height: 0;
}
.itemheader {
flex: 0 0 auto;
}
.items {
flex: 1 1 auto;
display: flex;
flex-flow: column;
overflow-y: auto;
min-height: 0;
}
.itemrow {
display: flex;
flex-wrap: wrap;
padding-bottom: 1em;
}
.itemrow > span:nth-child(1) {
flex-basis: 30%;
flex-grow: 1;
}
.itemrow > span:nth-child(2) {
flex-basis: 70%;
flex-grow: 1;
}
.itemrowgrid {
display: grid;
grid-template-columns: 1fr 2fr;
padding: 0 0.5em 1em 0.5em;
}
.panels {
flex: 1 1 100%;
display: flex;
flex-flow: row;
min-height: 0;
}
.panelleft,
.panelright {
display: flex;
flex-flow: column;
min-height: 0;
}
.panelleft {
flex: 1 1 100%;
}
.panelright {
flex: 1 1 200%;
}
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="style1.css">
</head>
<body>
<my-app ng-version="11.0.8">
<div class="panels">
<div class="panelleft">
<form novalidate="" name="frmFilters" autocomplete="off" class="header ng-valid ng-touched ng-dirty">
<label >Search:</label><input type="text" name="name" ng-reflect-name="name" ng-reflect-model="00000" class="ng-valid ng-touched ng-dirty"><label ></label><button type="button">Search</button>
</form>
<div class="itemspanel">
<div class="itemheader"></div>
<div class="items">
<div class="itemrowgrid"><span >Joelynn</span><span >Hitzmann</span></div>
<div class="itemrowgrid"><span >Farris</span><span >Espine</span></div>
<div class="itemrowgrid"><span >Linnet</span><span >Nare</span></div>
<div class="itemrowgrid"><span >Heidie</span><span >Coolican</span></div>
<div class="itemrowgrid"><span >Ulrike</span><span >Lowndsborough</span></div>
<div class="itemrowgrid"><span >Claudine</span><span >Caneo</span></div>
<div class="itemrowgrid"><span >Janella</span><span >Thurborn</span></div>
<div class="itemrowgrid"><span >Menard</span><span >Wolledge</span></div>
<div class="itemrowgrid"><span >Alasteir</span><span >Annandale</span></div>
<div class="itemrowgrid"><span >Isabelita</span><span >Byrom</span></div>
<div class="itemrowgrid"><span >Jim</span><span >Issard</span></div>
<div class="itemrowgrid"><span >Mic</span><span >Tiddeman</span></div>
<div class="itemrowgrid"><span >Carce</span><span >McClunaghan</span></div>
<div class="itemrowgrid"><span >Archibaldo</span><span >Jacqueme</span></div>
<div class="itemrowgrid"><span >Sybilla</span><span >Vivyan</span></div>
<div class="itemrowgrid"><span >Herve</span><span >Lund</span></div>
<div class="itemrowgrid"><span >Wade</span><span >Calway</span></div>
<div class="itemrowgrid"><span >Irita</span><span >Newvell</span></div>
<div class="itemrowgrid"><span >Lucie</span><span >Hurrion</span></div>
<div class="itemrowgrid"><span >Sherie</span><span >Bapty</span></div>
<div class="itemrowgrid"><span >Estella</span><span >Lettington</span></div>
<div class="itemrowgrid"><span >Lion</span><span >Ganforthe</span></div>
<div class="itemrowgrid"><span >Siouxie</span><span >January 1st</span></div>
<div class="itemrowgrid"><span >Clay</span><span >Knightsbridge</span></div>
<div class="itemrowgrid"><span >Shir</span><span >Desesquelle</span></div>
<div class="itemrowgrid"><span >Magda</span><span >Brew</span></div>
<div class="itemrowgrid"><span >Didi</span><span >Scanlon</span></div>
<div class="itemrowgrid"><span >Petr</span><span >Clerk</span></div>
<div class="itemrowgrid"><span >Frazier</span><span >Harler</span></div>
<div class="itemrowgrid"><span >Deonne</span><span >Scoffham</span></div>
<div class="itemrowgrid"><span >Meggi</span><span >Klampk</span></div>
<div class="itemrowgrid"><span >Darby</span><span >Huey</span></div>
<div class="itemrowgrid"><span >Berna</span><span >Batram</span></div>
<div class="itemrowgrid"><span >Ashli</span><span >Ducarel</span></div>
<div class="itemrowgrid"><span >Marilin</span><span >Gothup</span></div>
<div class="itemrowgrid"><span >Mariya</span><span >Fettis</span></div>
<div class="itemrowgrid"><span >Anett</span><span >Stookes</span></div>
<div class="itemrowgrid"><span >Adella</span><span >Wash</span></div>
<div class="itemrowgrid"><span >Ricky</span><span >Pellamonuten</span></div>
<div class="itemrowgrid"><span >Nora</span><span >Hourigan</span></div>
<div class="itemrowgrid"><span >Pancho</span><span >Wynn</span></div>
<div class="itemrowgrid"><span >Magdaia</span><span >Walthall</span></div>
<div class="itemrowgrid"><span >Thatch</span><span >Llorente</span></div>
<div class="itemrowgrid"><span >Margaretta</span><span >Ramiro</span></div>
<div class="itemrowgrid"><span >Jacques</span><span >Smallacombe</span></div>
<div class="itemrowgrid"><span >Gamaliel</span><span >Learoyd</span></div>
<div class="itemrowgrid"><span >Jyoti</span><span >Sholl</span></div>
<div class="itemrowgrid"><span >Elbertine</span><span >Larwell</span></div>
<div class="itemrowgrid"><span >Sebastian</span><span >Alvarado</span></div>
<div class="itemrowgrid"><span >Mart</span><span >Hentzeler</span></div>
</div>
</div>
</div>
<div class="panelright d2">
<form novalidate="" name="frmFilters" autocomplete="off" class="header ng-valid ng-dirty ng-touched">
<label >Search:</label><input type="text" name="name1" ng-reflect-name="name1" ng-reflect-model="0000" class="ng-valid ng-dirty ng-touched"><label ></label><button type="button">Search</button>
</form>
<div class="itemspanel">
<div class="itemheader"></div>
<div class="items">
<div class="itemrowgrid"><span >Joelynn</span><span >Hitzmann</span></div>
<div class="itemrowgrid"><span >Farris</span><span >Espine</span></div>
<div class="itemrowgrid"><span >Linnet</span><span >Nare</span></div>
<div class="itemrowgrid"><span >Heidie</span><span >Coolican</span></div>
<div class="itemrowgrid"><span >Ulrike</span><span >Lowndsborough</span></div>
<div class="itemrowgrid"><span >Claudine</span><span >Caneo</span></div>
<div class="itemrowgrid"><span >Janella</span><span >Thurborn</span></div>
<div class="itemrowgrid"><span >Menard</span><span >Wolledge</span></div>
<div class="itemrowgrid"><span >Alasteir</span><span >Annandale</span></div>
<div class="itemrowgrid"><span >Isabelita</span><span >Byrom</span></div>
<div class="itemrowgrid"><span >Jim</span><span >Issard</span></div>
<div class="itemrowgrid"><span >Mic</span><span >Tiddeman</span></div>
<div class="itemrowgrid"><span >Carce</span><span >McClunaghan</span></div>
<div class="itemrowgrid"><span >Archibaldo</span><span >Jacqueme</span></div>
<div class="itemrowgrid"><span >Sybilla</span><span >Vivyan</span></div>
<div class="itemrowgrid"><span >Herve</span><span >Lund</span></div>
<div class="itemrowgrid"><span >Wade</span><span >Calway</span></div>
<div class="itemrowgrid"><span >Irita</span><span >Newvell</span></div>
<div class="itemrowgrid"><span >Lucie</span><span >Hurrion</span></div>
<div class="itemrowgrid"><span >Sherie</span><span >Bapty</span></div>
<div class="itemrowgrid"><span >Estella</span><span >Lettington</span></div>
<div class="itemrowgrid"><span >Lion</span><span >Ganforthe</span></div>
<div class="itemrowgrid"><span >Siouxie</span><span >January 1st</span></div>
<div class="itemrowgrid"><span >Clay</span><span >Knightsbridge</span></div>
<div class="itemrowgrid"><span >Shir</span><span >Desesquelle</span></div>
<div class="itemrowgrid"><span >Magda</span><span >Brew</span></div>
<div class="itemrowgrid"><span >Didi</span><span >Scanlon</span></div>
<div class="itemrowgrid"><span >Petr</span><span >Clerk</span></div>
<div class="itemrowgrid"><span >Frazier</span><span >Harler</span></div>
<div class="itemrowgrid"><span >Deonne</span><span >Scoffham</span></div>
<div class="itemrowgrid"><span >Meggi</span><span >Klampk</span></div>
<div class="itemrowgrid"><span >Darby</span><span >Huey</span></div>
<div class="itemrowgrid"><span >Berna</span><span >Batram</span></div>
<div class="itemrowgrid"><span >Ashli</span><span >Ducarel</span></div>
<div class="itemrowgrid"><span >Marilin</span><span >Gothup</span></div>
<div class="itemrowgrid"><span >Mariya</span><span >Fettis</span></div>
<div class="itemrowgrid"><span >Anett</span><span >Stookes</span></div>
<div class="itemrowgrid"><span >Adella</span><span >Wash</span></div>
<div class="itemrowgrid"><span >Ricky</span><span >Pellamonuten</span></div>
<div class="itemrowgrid"><span >Nora</span><span >Hourigan</span></div>
<div class="itemrowgrid"><span >Pancho</span><span >Wynn</span></div>
<div class="itemrowgrid"><span >Magdaia</span><span >Walthall</span></div>
<div class="itemrowgrid"><span >Thatch</span><span >Llorente</span></div>
<div class="itemrowgrid"><span >Margaretta</span><span >Ramiro</span></div>
<div class="itemrowgrid"><span >Jacques</span><span >Smallacombe</span></div>
<div class="itemrowgrid"><span >Gamaliel</span><span >Learoyd</span></div>
<div class="itemrowgrid"><span >Jyoti</span><span >Sholl</span></div>
<div class="itemrowgrid"><span >Elbertine</span><span >Larwell</span></div>
<div class="itemrowgrid"><span >Sebastian</span><span >Alvarado</span></div>
<div class="itemrowgrid"><span >Mart</span><span >Hentzeler</span></div>
</div>
</div>
</div>
</div>
</my-app>
</body>
</html>
最佳答案
我已经能够在本地重现该问题(至少)。正如您在下图中所看到的,在我的浏览器 (Chromium v92.0.4488.0) 中,仅重绘了列最右侧的区域 - 正是使用滚动条时将显示的区域。
另一方面,使用 Firefox (v88.0) 或 Safari (v14.0.3),在 Flexbox 和网格示例中,除了输入之外的任何内容都不会被重新绘制。
由于您不使用容器高度的绝对值,我怀疑这是由于高度的计算以及是否需要显示滚动条而发生的。 Chrome 在这里的行为似乎与其他浏览器不同。
一个简单的解决方法似乎是为容器定义一个绝对高度(vh,虽然它是一个 relative unit ,但似乎也有效):
.panelleft,
.panelright {
height: 100vh;
}
关于html - css 网格与 flexbox : why does css grid cause repaints and flexbox not,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67156643/
我面临着让一个相当复杂的网络应用程序在 HTML/CSS 中工作的问题。我发现 flexbox 有很多问题,这似乎可以解决我的问题。我试图了解我做错了什么或 flexbox 的限制是什么。我只在 Ch
尝试扩展 FlexBox 容器内输入的宽度。我希望它与父容器具有相同的宽度。这是我的 view.xml:
尝试扩展 FlexBox 容器内输入的宽度。我希望它与父容器具有相同的宽度。这是我的 view.xml:
我有两个 flexbox,它们在高度变化时收缩,嵌套内容重叠。 如何防止这种情况? 最佳答案 just add flex-shrink:0 to your element and the flexbo
我对 FlexBoxes 有疑问 - 我想要 我想将页面的一个部分分成两部分(相同高度),例如每个 100 像素 这些部分之一(第 2 个)我想分成三个小部分(等高)100/3 = 33px 下面的代
我的内容布局由三个部分组成:页眉、内容和页脚。对于小型设备,我想保留此顺序,在桌面设备上,我想将页眉和页脚移至侧边栏。 使用 float 实现:http://codepen.io/anon/pen/j
我正在尝试实现以下布局: +---------+---------------------+ |legend | | +---------+
我在尝试使用 Flexbox 进行某些标记时遇到问题。我制作了这个代码笔来演示我的问题:http://codepen.io/anon/pen/QjbzJY?editors=110 我希望左侧的图像(.
我正在尝试获得一个看起来有点像这样的用户界面: 在图片中,假装带有“New York...”的顶部栏和“Book it”按钮是固定的,并且它们之间的内容是可滚动的。 到目前为止,我的 HTML 是这样
我尝试调整一些动态内容,使其适合要打印的标签。 标签有一行 (.symbolContainer),可以包含 0 个或多个图像。目标是在 .text 框的内容需要更多空间时缩小 .symbolConta
我是 Stack Overflow 的新手,我遇到了 flexbox 的问题。 我想使用 和 与 display: flex;其中 main 的每一行都有 2 列 height: 100%浏览器和页脚
我想创建一个带有部分的水平 slider 。 Section 1 Card 1 ... Section 2 Card 1 ... ...
在给定的代码中,我需要识别第一行的最后一个元素和最后一行的第一个元素。只是为了让它从各个 Angular 落变圆。我怎样才能做到这一点?我需要在这里提到的是,根据屏幕尺寸,列号以及第一行的最后一个元素
我花了一整天的时间来完成这项工作。虽然我可以使用一个 flex 盒,但当一个 flex 盒要包含另一个 flex 盒时就会变得很麻烦。 我试着按照这个问题的提示去做: Flexbox inside a
在我的测试中(以及我的其他 SO 问题的回答),当 flexbox 占用页面的整个宽度或具有固定宽度的父元素时,它可以很好地处理溢出文本。但是,如果具有动态宽度的 flexbox 在另一个动态宽度 f
我正在尝试让一个 flexbox 在 flexbox 内部工作。当第一个(包装)flexbox 工作时,里面的那个什么都不做。无论如何让这个工作? 我想要做的是有效地拥有两个粘性页脚,并且两者的高度都
我正在尝试使用 flexboxes 并想组合一个列和行容器。我的问题是: 为什么放置在列中的行元素没有跨越 flex 容器的整个宽度? 此处显示示例代码:js-fiddle HTML: /* CSS:
目标 我正在使用 SASS 开发一个基于 flexbox + calc() 的 grid system with gutters。 您可以像这样通过混合定义网格: .box { @inc
在IE11下运行时,下面的例子会在itemwrapper的底部添加空格元素。在开发控制台中检查时,此空间不归因于边距、填充或边框。测量子元素的高度似乎是一个问题,因为如果给它们一个固定的高度,那么空间
我的目标是在 Angular 5 项目中使用 ag-grid,并让网格占据 Flexbox 布局中的所有可用垂直空间。当网格包含在具有定义的像素高度的 div 中时,或者当 div 具有百分比高度但不
我是一名优秀的程序员,十分优秀!