Index: LayoutTests/fast/css-grid-layout/grid-item-auto-margins-alignment.html |
diff --git a/LayoutTests/fast/css-grid-layout/grid-item-auto-margins-alignment.html b/LayoutTests/fast/css-grid-layout/grid-item-auto-margins-alignment.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d1ac54367ac7e38e93858421cec0d652ea743fea |
--- /dev/null |
+++ b/LayoutTests/fast/css-grid-layout/grid-item-auto-margins-alignment.html |
@@ -0,0 +1,121 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<link href="resources/grid.css" rel="stylesheet"> |
+<script src="../../resources/check-layout.js"></script> |
+<style> |
+body { |
+ margin: 0; |
+} |
+ |
+.grid { |
+ grid-template-columns: 100px 100px; |
+ grid-template-rows: 200px 200px; |
+ width: -webkit-fit-content; |
+ margin-bottom: 20px; |
+} |
+ |
+.item { |
+ width: 20px; |
+ height: 40px; |
+} |
+ |
+.autoMarginTop { margin-top: auto; } |
+.autoMarginRight { margin-right: auto; } |
+.autoMarginBottom { margin-bottom: auto; } |
+.autoMarginLeft { margin-left: auto; } |
+.autoMargin { margin: auto; } |
+ |
+.itemsCenter { |
+ align-items: center; |
+ justify-items: center; |
+} |
+</style> |
+</head> |
+<body onload="checkLayout('.grid')"> |
+ |
+<p>This test checks that aling-self and justify-self properties are not applied when there is auto-margin in the correponding axis. Instead, auto-margin alignment should be applied.</p> |
+ |
+<p>Direction: LTR | Self Aligmment: center | fixed size items | 1 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid itemsCenter" data-expected-width="200" data-expected-height="400"> |
+ <div class="item autoMarginTop firstRowFirstColumn" data-offset-x="40" data-offset-y="160" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginRight firstRowSecondColumn" data-offset-x="100" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginLeft secondRowFirstColumn" data-offset-x="80" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginBottom secondRowSecondColumn" data-offset-x="140" data-offset-y="200" data-expected-width="20" data-expected-height="40"></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: LTR | Self Aligmment: start | fixed size items | 4 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid" data-expected-width="200" data-expected-height="400"> |
+ <div class="item autoMargin firstRowFirstColumn" data-offset-x="40" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin firstRowSecondColumn" data-offset-x="140" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin secondRowFirstColumn" data-offset-x="40" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin secondRowSecondColumn" data-offset-x="140" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: LTR | Self Aligmment: center | auto size items | 1 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid itemsCenter" data-expected-width="200" data-expected-height="400"> |
+ <div class="autoMarginTop firstRowFirstColumn" data-offset-x="40" data-offset-y="160" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginRight firstRowSecondColumn" data-offset-x="100" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginLeft secondRowFirstColumn" data-offset-x="80" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginBottom secondRowSecondColumn" data-offset-x="140" data-offset-y="200" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: LTR | Self Aligmment: start | auto size items | 4 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid" data-expected-width="200" data-expected-height="400"> |
+ <div class="autoMargin firstRowFirstColumn" data-offset-x="40" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin firstRowSecondColumn" data-offset-x="140" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin secondRowFirstColumn" data-offset-x="40" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin secondRowSecondColumn" data-offset-x="140" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ </div> |
+</div> |
+ |
+<!-- direction RTL --> |
+<p>Direction: RTL | Self Aligmment: center | fixed size items | 1 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid itemsCenter directionRTL" data-expected-width="200" data-expected-height="400"> |
+ <div class="item autoMarginTop firstRowFirstColumn" data-offset-x="140" data-offset-y="160" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginRight firstRowSecondColumn" data-offset-x="0" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginLeft secondRowFirstColumn" data-offset-x="180" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMarginBottom secondRowSecondColumn" data-offset-x="40" data-offset-y="200" data-expected-width="20" data-expected-height="40"></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: RTL | Self Aligmment: start | fixed size items | 4 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid directionRTL" data-expected-width="200" data-expected-height="400"> |
+ <div class="item autoMargin firstRowFirstColumn" data-offset-x="140" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin firstRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin secondRowFirstColumn" data-offset-x="140" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ <div class="item autoMargin secondRowSecondColumn" data-offset-x="40" data-offset-y="280" data-expected-width="20" data-expected-height="40"></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: RTL | Self Aligmment: center | auto size items | 1 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid itemsCenter directionRTL" data-expected-width="200" data-expected-height="400"> |
+ <div class="autoMarginTop firstRowFirstColumn" data-offset-x="140" data-offset-y="160" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginRight firstRowSecondColumn" data-offset-x="0" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginLeft secondRowFirstColumn" data-offset-x="180" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMarginBottom secondRowSecondColumn" data-offset-x="40" data-offset-y="200" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ </div> |
+</div> |
+ |
+<p>Direction: RTL | Self Aligmment: start | auto size items | 4 auto-margin</p> |
+<div style="position: relative"> |
+ <div class="grid directionRTL" data-expected-width="200" data-expected-height="400"> |
+ <div class="autoMargin firstRowFirstColumn" data-offset-x="140" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin firstRowSecondColumn" data-offset-x="40" data-offset-y="80" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin secondRowFirstColumn" data-offset-x="140" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ <div class="autoMargin secondRowSecondColumn" data-offset-x="40" data-offset-y="280" data-expected-width="20" data-expected-height="40"><div class="item"></div></div> |
+ </div> |
+</div> |
+ |
+</body> |
+</html> |