summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-flexbox/image-as-flexitem-size-001v.html
blob: 91231dc4f44759fe4122f5d280d01c5940adb7b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
  <head>
    <meta charset="utf-8">
    <title>
      CSS Test: Testing how explicit main-size & cross-size constraints
      influence sizing on non-stretched flex item w/ intrinsic ratio
      (with a vertical writing-mode on the flex items).
    </title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
    <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
    <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-main-size">
    <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-cross-size">
    <style>
      .flexbox {
        display: flex;
        flex-direction: row;
        border: 1px solid black;
        margin: 0 2px 2px 0; /* (Just for spacing things out, visually) */
        width: 40px;
        height: 40px;

        justify-content: flex-start;
        align-items: flex-start;

        float: left; /* For testing in "rows" */
      }
      br { clear: both; }

      .flexbox > * {
        writing-mode: vertical-lr;

        /* Disable "min-width:auto"/"min-height:auto" to focus purely on
           later channels of influence. */
        min-width: 0;
        min-height: 0;
      }
    </style>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/resources/check-layout-th.js"></script>
  </head>
  <body onload="checkLayout('.flexbox > img')">
    <!-- NOTE: solidblue.png has an intrinsic size of 16px by 16px. -->

    <!-- Row 1: no special sizing: -->
    <div class="flexbox">
      <img src="support/solidblue.png" data-expected-width="16" data-expected-height="16">
    </div>
    <br>

    <!-- Row 2: Specified main-size, cross-size, or flex-basis: -->
    <div class="flexbox">
      <img src="support/solidblue.png" style="width: 30px" data-expected-width="30" data-expected-height="30">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="height: 30px" data-expected-width="30" data-expected-height="30">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="flex: 0 0 30px" data-expected-width="30" data-expected-height="30">
    </div>
    <br>

    <!-- Row 3: min main-size OR min cross-size, or both -->
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-width: 34px" data-expected-width="34" data-expected-height="34">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-height: 34px" data-expected-width="34" data-expected-height="34">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-width: 30px;
                                              min-height: 34px" data-expected-width="34" data-expected-height="34">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-width: 34px;
                                              min-height: 30px" data-expected-width="34" data-expected-height="34">
    </div>
    <br>

    <!-- Row 4: max main-size OR max cross-size, or both -->
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-width: 10px" data-expected-width="10" data-expected-height="10">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-height: 10px" data-expected-width="10" data-expected-height="10">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-width: 10px;
                                              max-height: 6px" data-expected-width="6" data-expected-height="6">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-width: 6px;
                                              max-height: 10px" data-expected-width="6" data-expected-height="6">
    </div>
    <br>

    <!-- Row 5: min main-size vs. max cross-size, & vice versa -->
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-width: 30px;
                                              max-height: 10px" data-expected-width="30" data-expected-height="10">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-width: 10px;
                                              min-height: 30px" data-expected-width="10" data-expected-height="30">
    </div>
    <br>

    <!-- Row 6: min|max main-size vs. explicit cross-size, & vice versa -->
    <div class="flexbox">
      <img src="support/solidblue.png" style="min-width: 30px;
                                              height: 10px" data-expected-width="30" data-expected-height="10">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="width: 30px;
                                              max-height: 10px" data-expected-width="30" data-expected-height="10">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="max-width: 10px;
                                              height: 30px" data-expected-width="10" data-expected-height="30">
    </div>
    <div class="flexbox">
      <img src="support/solidblue.png" style="width: 10px;
                                              min-height: 30px" data-expected-width="10" data-expected-height="30">
    </div>
  </body>
</html>