Skip to content

Commit b9b3a81

Browse files
committed
[css-images-3] Rename 'intrinsic dimensions' to 'natural dimensions', per w3c#4961. Part 1 of further edits...
1 parent f5823bc commit b9b3a81

File tree

1 file changed

+56
-47
lines changed

1 file changed

+56
-47
lines changed

css-images-3/Overview.bs

Lines changed: 56 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ Image Values: the <<image>> type {#image-values}
107107
In some cases an image is invalid,
108108
such as a <<url>> pointing to a resource that is not a valid image format
109109
or that has failed to load.
110-
An <dfn export lt="invalid image|valid image">invalid image</dfn> is rendered as a solid-color ''transparent'' image with no intrinsic dimensions.
110+
An <dfn export lt="invalid image|valid image">invalid image</dfn> is rendered
111+
as a solid-color ''transparent'' image with no [=natural dimensions=].
111112
However, <a>invalid images</a> can trigger error-handling clauses
112113
in some contexts.
113114
For example, an <a>invalid image</a> in 'list-style-image'
@@ -118,7 +119,7 @@ Image Values: the <<image>> type {#image-values}
118119
is is a <dfn export>loading image</dfn>.
119120
[=Loading images=] are <em>not</em> [=invalid images=],
120121
but have similar behavior:
121-
they are rendered as a solid-color ''transparent'' image with no intrinsic dimensions,
122+
they are rendered as a solid-color ''transparent'' image with no [=natural dimensions=],
122123
and may trigger fallback rendering in contexts that offer it,
123124
but must not trigger loading of fallback resources.
124125
Alternately, if a <a>loading image</a> happens to be replacing
@@ -128,7 +129,7 @@ Image Values: the <<image>> type {#image-values}
128129
it may continue to render the already-loaded image
129130
in place of the <a>loading image</a>.
130131

131-
Partially-loaded images (whose [=intrinsic dimensions=] are known, but whose image data is not fully loaded)
132+
Partially-loaded images (whose [=natural dimensions=] are known, but whose image data is not fully loaded)
132133
may be either treated as [=loading images=]
133134
or as loaded images rendered with partial data.
134135
For example, a UA may render an interlaced GIF in place
@@ -282,7 +283,7 @@ Gradients {#gradients}
282283

283284
A gradient is drawn into a box with the dimensions of the <a>concrete object size</a>,
284285
referred to as the <dfn export>gradient box</dfn>.
285-
However, the gradient itself has no <a>intrinsic dimensions</a>.
286+
However, the gradient itself has no [=natural dimensions=].
286287

287288
<div class='example'>
288289
For example, if you use a gradient as a background,
@@ -1154,44 +1155,46 @@ Object-Sizing Terminology {#sizing-terms}
11541155
to make it easier to refer to various concepts:
11551156

11561157
<dl export>
1157-
<dt><dfn>intrinsic dimensions</dfn>
1158+
<dt><dfn>natural dimension</dfn>
11581159
<dd>
1159-
The term intrinsic dimensions refers to the set of
1160-
the <dfn>intrinsic height</dfn>,
1161-
<dfn>intrinsic width</dfn>,
1162-
and <dfn>intrinsic aspect ratio</dfn>
1160+
The term [=natural dimensions=] refers to the set of
1161+
the <dfn>natural height</dfn>,
1162+
<dfn>natural width</dfn>,
1163+
and <dfn>natural aspect ratio</dfn>
11631164
(the ratio between the width and height),
11641165
each of which may or may not exist for a given [=object=].
1165-
These intrinsic dimensions represent a preferred or natural size of the object itself;
1166+
These natural dimensions represent the preferred sizing intrinsic to the object itself;
11661167
that is, they are not a function of the context in which the object is used.
1167-
CSS does not define how the intrinsic dimensions are found in general.
1168+
CSS does not define how the natural dimensions are found in general.
11681169

1169-
Raster images are an example of an [=object=] with all three intrinsic dimensions.
1170-
SVG images designed to scale might have only an <a>intrinsic aspect ratio</a>;
1171-
SVG images can also be created with only an <a>intrinsic width</a> or <a lt="intrinsic height">height</a>.
1172-
CSS gradients, defined in this specification, are an example of an object with no intrinsic dimensions at all.
1170+
Raster images are an example of an [=object=] with all three natural dimensions.
1171+
SVG images designed to scale might have only an [=natural aspect ratio=];
1172+
SVG images can also be created with only an [=natural width=] or [=natural height|height=].
1173+
CSS gradients, defined in this specification,
1174+
are an example of an object with no [=natural dimensions=] at all.
11731175
Another example of this is embedded documents,
11741176
such as the <{iframe}> element in HTML.
1175-
In general, [=objects=] cannot have only two intrinsic dimensions,
1177+
Many [=objects=], such as most images,
1178+
cannot have only two [=natural dimensions=],
11761179
as any two automatically define the third.
11771180
However some types of replaced elements,
11781181
such as form controls,
1179-
can have an <a>intrinsic width</a> and an <a>intrinsic height</a>,
1180-
but no <a>intrinsic aspect ratio</a>.
1182+
can have a [=natural width=] and a [=natural height=],
1183+
but no [=natural aspect ratio=].
11811184

1182-
If an [=object=] has a [=degenerate ratio|degenerate=] [=intrinsic aspect ratio=]
1185+
If an [=object=] has a [=degenerate ratio|degenerate=] [=natural aspect ratio=]
11831186
(at least one part being zero or infinity),
1184-
it is treated as having no [=intrinsic aspect ratio=].
1187+
it is treated as having no [=natural aspect ratio=].
11851188

11861189
If an [=object=] (such as an icon) has multiple sizes,
1187-
then the largest size (by area) is taken as its intrinsic size.
1190+
then the largest size (by area) is taken as its [=natural dimensions=].
11881191
If it has multiple aspect ratios at that size,
11891192
or has multiple aspect ratios and no size,
11901193
then the aspect ratio closest to the aspect ratio of the <a>default object size</a> is used.
11911194
Determine this by seeing which aspect ratio produces the largest area
11921195
when fitting it within the <a>default object size</a> using a <a>contain constraint</a> fit;
11931196
if multiple sizes tie for the largest area,
1194-
the widest size is chosen as its intrinsic size.
1197+
the widest size is chosen as its [=natural dimensions=].
11951198

11961199
<dt><dfn>specified size</dfn>
11971200
<dd>
@@ -1204,15 +1207,15 @@ Object-Sizing Terminology {#sizing-terms}
12041207
<dt><dfn>concrete object size</dfn>
12051208
<dd>
12061209
The <a>concrete object size</a> is the result of combining
1207-
an [=object’s=] <a>intrinsic dimensions</a> and <a>specified size</a>
1210+
an [=object’s=] [=natural dimensions=] and [=specified size=]
12081211
with the <a>default object size</a> of the context it's used in,
1209-
producing a rectangle with a definite width and height.
1212+
producing a rectangle with an absolute width and height.
12101213

12111214
<dt><dfn>default object size</dfn>
12121215
<dd>
1213-
The <a>default object size</a> is a rectangle with a definite height and width
1216+
The <a>default object size</a> is a rectangle with an absolute height and width
12141217
used to determine the <a>concrete object size</a>
1215-
when both the <a>intrinsic dimensions</a> and <a>specified size</a> are missing dimensions.
1218+
when both the [=natural dimensions=] and [=specified size=] are missing dimensions.
12161219

12171220
</dl>
12181221

@@ -1225,17 +1228,19 @@ CSS⇋Object Negotiation {#object-negotiation}
12251228
1. When an [=object=] is specified in a document,
12261229
such as through a ''url()'' value in a 'background-image' property
12271230
or a <{img/src}> attribute on an <{img}> element,
1228-
CSS queries the object for its <a>intrinsic dimensions</a>.
1231+
CSS queries the object for its [=natural dimensions=].
12291232

1230-
2. Using the <a>intrinsic dimensions</a>,
1233+
2. Using the [=natural dimensions=],
12311234
the <a>specified size</a>,
12321235
and the <a>default object size</a> for the context the [=object=] is used in,
12331236
CSS then computes a <a>concrete object size</a>.
12341237
(See the <a section href="#default-sizing">following section</a>.)
12351238
This defines the size and position of the region the [=object=] will render in.
12361239

12371240
3. CSS asks the [=object=] to render itself at the <a>concrete object size</a>.
1238-
CSS does not define how [=objects=] render when the <a>concrete object size</a> is different from the [=object’s=] <a>intrinsic dimensions</a>.
1241+
CSS does not define how [=objects=] render
1242+
when the [=concrete object size=] is different
1243+
from the [=object’s=] [=natural dimensions=].
12391244
The [=object=] may adjust itself to match the <a>concrete object size</a> in some way,
12401245
or even render itself larger or smaller than the <a>concrete object size</a> to satisfy sizing constraints of its own.
12411246

@@ -1254,7 +1259,7 @@ Concrete Object Size Resolution {#concrete-size-resolution}
12541259
### Default Sizing Algorithm ### {#default-sizing}
12551260

12561261
The <dfn export>default sizing algorithm</dfn> is a set of rules commonly used to find an [=object’s=] <a>concrete object size</a>.
1257-
It resolves the simultaneous constraints presented by the [=object’s=] <a>intrinsic dimensions</a>
1262+
It resolves the simultaneous constraints presented by the [=object’s=] [=natural dimensions=]
12581263
and either an unconstrained <a>specified size</a>
12591264
or one consisting of only a definite width and/or height.
12601265

@@ -1275,38 +1280,42 @@ Concrete Object Size Resolution {#concrete-size-resolution}
12751280
then the <a>concrete object size</a> is given that specified width or height.
12761281
The other dimension is calculated as follows:
12771282

1278-
1. If the [=object=] has an <a>intrinsic aspect ratio</a>,
1283+
1. If the [=object=] has a [=natural aspect ratio=],
12791284
the missing dimension of the <a>concrete object size</a>
1280-
is calculated using the <a>intrinsic aspect ratio</a> and the present dimension.
1285+
is calculated using that aspect ratio and the present dimension.
12811286

1282-
2. Otherwise, if the missing dimension is present in the object's <a>intrinsic dimensions</a>,
1283-
the missing dimension is taken from the [=object’s=] <a>intrinsic dimensions</a>.
1287+
2. Otherwise, if the missing dimension is present in the object's [=natural dimensions=],
1288+
the missing dimension is taken from the [=object’s=] [=natural dimensions=].
12841289

12851290
3. Otherwise, the missing dimension of the <a>concrete object size</a> is taken from the <a>default object size</a>.
12861291

12871292
* If the <a>specified size</a> has no constraints:
12881293

1289-
1. If the [=object=] has an intrinsic height or width,
1290-
its size is resolved as if its <a>intrinsic dimensions</a> were given as the <a>specified size</a>.
1294+
1. If the [=object=] has a [=natural dimensions|natural=] height or width,
1295+
its size is resolved as if its [=natural dimensions=] were given as the <a>specified size</a>.
12911296

12921297
2. Otherwise, its size is resolved as a <a>contain constraint</a> against the <a>default object size</a>.
12931298

12941299
### Cover and Contain Constraint Sizing ### {#cover-contain}
12951300

12961301
Two other common specified sizes are the <a>contain constraint</a> and the <a>cover constraint</a>,
12971302
both of which are resolved against a specified <dfn export>constraint rectangle</dfn>
1298-
using the [=object’s=] <a>intrinsic aspect ratio</a>:
1303+
using the [=object’s=] [=preferred aspect ratio=]:
12991304

13001305
* A <dfn export>contain constraint</dfn> is resolved
1301-
by setting the <a>concrete object size</a> to the largest rectangle that has the [=object’s=] <a>intrinsic aspect ratio</a>
1302-
and additionally has neither width nor height larger than the constraint rectangle's width and height, respectively.
1306+
by setting the [=concrete object size=] to the largest rectangle
1307+
that has the [=object’s=] [=natural aspect ratio=]
1308+
and additionally has neither width nor height larger than
1309+
the constraint rectangle's width and height, respectively.
13031310

13041311
* A <dfn export>cover constraint</dfn> is resolved
1305-
by setting the <a>concrete object size</a> to the smallest rectangle that has the [=object’s=] <a>intrinsic aspect ratio</a>
1306-
and additionally has neither width nor height smaller than the constraint rectangle's width and height, respectively.
1312+
by setting the [=concrete object size=] to the smallest rectangle
1313+
that has the [=object’s=] [=natural aspect ratio=]
1314+
and additionally has neither width nor height smaller than
1315+
the constraint rectangle's width and height, respectively.
13071316

13081317
In both cases,
1309-
if the object doesn't have an [=intrinsic aspect ratio=],
1318+
if the object doesn't have a [=natural aspect ratio=],
13101319
the <a>concrete object size</a> is the specified constraint rectangle.
13111320

13121321
Examples of CSS Object Sizing {#object-sizing-examples}
@@ -1419,14 +1428,14 @@ Sizing Objects: the 'object-fit' property {#the-object-fit}
14191428

14201429
<dt><dfn>contain</dfn>
14211430
<dd>
1422-
The replaced content is sized to maintain its [=intrinsic aspect ratio=]
1431+
The replaced content is sized to maintain its [=natural aspect ratio=]
14231432
while fitting within the element's content box:
14241433
its <a>concrete object size</a> is resolved as a <a>contain constraint</a>
14251434
against the element's used width and height.
14261435

14271436
<dt><dfn>cover</dfn>
14281437
<dd>
1429-
The replaced content is sized to maintain its [=intrinsic aspect ratio=]
1438+
The replaced content is sized to maintain its [=natural aspect ratio=]
14301439
while filling the element's entire content box:
14311440
its <a>concrete object size</a> is resolved as a <a>cover constraint</a>
14321441
against the element's used width and height.
@@ -1443,7 +1452,7 @@ Sizing Objects: the 'object-fit' property {#the-object-fit}
14431452
Size the content as if ''object-fit/none'' or ''object-fit/contain'' were specified,
14441453
whichever would result in a smaller <a>concrete object size</a>.
14451454

1446-
Note: Both ''object-fit/none'' and ''object-fit/contain'' respect the content's [=intrinsic aspect ratio=],
1455+
Note: Both ''object-fit/none'' and ''object-fit/contain'' respect the content's [=natural aspect ratio=],
14471456
so the concept of "smaller" is well-defined.
14481457
</dl>
14491458

@@ -1622,7 +1631,7 @@ Image Processing {#image-processing}
16221631
exactly as if the image were originally encoded in its rotated form.
16231632
This implies, for example:
16241633

1625-
* The intrinsic height and width are derived
1634+
* The [=natural dimensions|natural=] height and width are derived
16261635
from the rotated rather than the original image dimensions.
16271636
* The height (width) property applies to
16281637
the vertical (horizontal) dimension of the image,
@@ -1840,7 +1849,7 @@ Privacy and Security Considerations</h2>
18401849

18411850
This specification allows rendering of cross-origin images by default,
18421851
which exposes some information of those images programmatically--
1843-
specifically, the intrinsic sizes and resolution of those images.
1852+
specifically, the [=natural dimensions=] and resolution of those images.
18441853

18451854
<h2 class="no-num" id="acknowledgments">
18461855
Acknowledgments</h2>

0 commit comments

Comments
 (0)