@@ -346,17 +346,17 @@ The 'border-radius' shorthand</h4>
346
346
See [[CSS3BG]] .
347
347
348
348
<h3 id=corner-shaping>
349
- Corner Shaping: the 'corner-shape' property </h3>
349
+ Corner Shaping: the 'corner-*- shape' properties </h3>
350
350
351
351
By default, non-zero 'border-radius' values
352
352
define a quarter-ellipse <dfn export>corner shape</dfn>
353
353
that rounds the affected corners,
354
354
filling the <dfn export>corner area</dfn>
355
355
defined by the 'border-radius' for that corner.
356
356
However in some cases, other [=corner shapes=] are desired.
357
- The 'corner-shape' property (and its longhands )
357
+ The 'corner-*- shape' properties (and their shorthands )
358
358
specify exactly what [=corner shapes=] a box will use
359
- for the region defined by its 'border-radius' values.
359
+ for the region defined by its 'border-*- radius' values.
360
360
361
361
The different [=corner shapes=] can all be expressed
362
362
as different parameters to a <em> superellipse</em> .
@@ -459,20 +459,28 @@ Corner Shaping: the 'corner-shape' property</h3>
459
459
or use one of the supplied keywords which represent commonly used parameters.
460
460
See the <<corner-shape-value>> definition for details.
461
461
462
- <h4 id=corner-shape-shorthand>
463
- The 'corner-shape' Shorthand</h4>
464
-
465
- <pre class="propdef shorthand">
466
- Name : corner-shape
467
- Value : <<corner-shape-value>>{1,4}
462
+ <pre class=propdef>
463
+ Name : corner-top-left-shape, corner-top-right-shape, corner-bottom-right-shape, corner-bottom-left-shape, corner-start-start-shape, corner-start-end-shape, corner-end-start-shape, corner-end-end-shape
464
+ Value : <<corner-shape-value>>
468
465
Initial : round
469
466
Applies to : all elements where 'border-radius' can apply
470
467
Inherited : no
471
- Animation type : see individual properties
468
+ Logical property group : corner-shape
469
+ Computed value : the corresponding ''superellipse()'' value
470
+ Animation Type : see [=superellipse interpolation=]
472
471
</pre>
473
472
474
- The 'corner-shape' property specifies the shape of the box's corners,
475
- within the region specified by 'border-radius' .
473
+ The 'corner-*-*-shape' longhand properties
474
+ set the corner shape for the given corner.
475
+
476
+ The [=flow-relative=] longhands
477
+ ('corner-start-start-shape' , etc)
478
+ correspond to the [=physical=] longhands
479
+ ('corner-top-left-shape' , etc)
480
+ depending on the element’s 'writing-mode' , 'direction' , and 'text-orientation' .
481
+ The first <css> start</css> /<css> end</css> gives the block axis side,
482
+ and the second the inline-axis side
483
+ (i.e. patterned as <css> corner-<var ignore> block</var> -<var ignore> inline</var> -shape</css> ).
476
484
477
485
<pre class=prod>
478
486
<dfn><<corner-shape-value>></dfn> = <l>''round''</l> | <l>''scoop''</l> | <l>''bevel''</l> | <l>''notch''</l> | <l>''<corner-shape-value>/square''</l> | <l>''squircle''</l> |
@@ -543,55 +551,35 @@ The 'corner-shape' Shorthand</h4>
543
551
the [=corner area=] is zero-sized as well,
544
552
and 'corner-shape' won't have any effect.
545
553
546
- 'corner-shape' does not alter the [=overflow=] rules for 'border-radius' ,
554
+ 'corner-*- shape' does not alter the [=overflow=] rules for 'border-* -radius' ,
547
555
except insofar as it shapes the corners differently;
548
556
elements are still clipped by the shaped border as normal.
549
557
550
- The curve specified by 'corner-shape'
558
+ The curve specified by 'corner-*- shape'
551
559
defines the <em> outer</em> edge of the border.
552
560
The inner edge of the border follows the curve of the outer edge
553
561
(in a way that's not necessarily expressible as a superellipse curve),
554
562
with a nearly consistent distance from the outer edge throughout,
555
563
(or a linearly increasing distance
556
564
if the 'border-width' of the two border edges meeting at the the corner are not uniform).
557
565
558
- 'corner-shape' also affects the rendering of 'box-shadow' ,
566
+ 'corner-*- shape' also affects the rendering of 'box-shadow' ,
559
567
and how the [=overflow clip edge=] is shaped when it's extended from the box,
560
- but these do not directly follow the 'corner-shape' path
568
+ but these do not directly follow the 'corner-*- shape' path
561
569
like the inner border edge does.
562
570
Instead, it scales the 'corner-shape' path in an axis-aligned manner.
563
571
572
+ <h3 id="corner-shaping-shorthands">
573
+ Corner Shaping Shorthands: the 'corner-shape' and 'corner-*-shape' shorthand properties</h3>
564
574
565
- <h4 id=corner-shape-shorthands>
566
- The 'corner-*-shape' Shorthands And Longhands</h4>
567
-
568
- <pre class=propdef>
569
- Name : corner-top-left-shape, corner-top-right-shape, corner-bottom-right-shape, corner-bottom-left-shape, corner-start-start-shape, corner-start-end-shape, corner-end-start-shape, corner-end-end-shape
570
- Value : <<corner-shape-value>>
571
- Initial : round
572
- Applies to : all elements where 'border-radius' can apply
573
- Inherited : no
574
- Logical property group : corner-shape
575
- Computed value : the corresponding ''superellipse()'' value
576
- Animation Type : see [=superellipse interpolation=]
577
- </pre>
578
-
579
- The 'corner-*-*-shape' longhand properties
580
- set the corner shape for the given corner.
581
-
582
- The [=flow-relative=] longhands
583
- ('corner-start-start-shape' , etc)
584
- correspond to the [=physical=] longhands
585
- ('corner-top-left-shape' , etc)
586
- depending on the element’s 'writing-mode' , 'direction' , and 'text-orientation' .
587
- The first <css> start</css> /<css> end</css> gives the block axis side,
588
- and the second the inline-axis side
589
- (i.e. patterned as <css> corner-<var ignore> block</var> -<var ignore> inline</var> -shape</css> ).
575
+ <h4 id="corner-shaping-side-shorthands">
576
+ Shaping The Corners Of One Side:
577
+ The 'corner-*-shape' shorthands:</h4>
590
578
591
579
<pre class="propdef shorthand">
592
580
Name : corner-top-shape, corner-right-shape, corner-bottom-shape, corner-left-shape,
593
581
corner-block-start-shape, corner-block-end-shape, corner-inline-start-shape, corner-inline-end-shape
594
- Value : <<corner-shape-value >>{1,2}
582
+ Value : <<' corner-top-left-shape' >>{1,2}
595
583
</pre>
596
584
597
585
The 'corner-*-shape' /etc shorthands set the two 'corner-*-*-shape'
@@ -610,6 +598,29 @@ The 'corner-*-shape' Shorthands And Longhands</h4>
610
598
That is, ''corner-block-start-shape: round square''
611
599
sets ''corner-start-start-shape: round; corner-start-end-shape: square;'' .
612
600
601
+ <h4 id="corner-shaping-shorthand">
602
+ Shaping All Corners At Once:
603
+ The 'corner-shape' shorthand</h4>
604
+
605
+ <pre class="propdef shorthand">
606
+ Name : corner-shape
607
+ Value : <<'corner-top-left-shape'>>{1,4}
608
+ Initial : round
609
+ Applies to : all elements where 'border-radius' can apply
610
+ Inherited : no
611
+ Animation type : see individual properties
612
+ </pre>
613
+
614
+ The 'corner-shape' property specifies the shape of the box's corners,
615
+ within the region specified by 'border-radius' .
616
+ The four values set the top, right, bottom and left shape, respectively.
617
+ A missing left is the same as right,
618
+ a missing bottom is the same as top,
619
+ and a missing right is also the same as top.
620
+
621
+ <h3 id="corner-shorthands">
622
+ Corner Sizing & Shaping Shorthands: the 'corner' and 'corner-*' shorthand properties</h3>
623
+
613
624
<h4 id="single-corner-shorthands">
614
625
Sizing & shaping a corner:
615
626
The 'corner-top-left', 'corner-top-right',
@@ -620,7 +631,7 @@ The 'corner-top-left', 'corner-top-right',
620
631
<pre class=propdef>
621
632
Name : corner-top-left, corner-top-right, corner-bottom-left, corner-bottom-right,
622
633
corner-start-start, corner-start-end, corner-end-start, corner-end-end
623
- Value : <<length-percentage [0,∞] >>{1,2} || <<corner-shape-value >>
634
+ Value : <<'border-top-left-radius' >>{1,2} || <<' corner-top-left-shape' >>
624
635
Initial : 0
625
636
Applies to : all elements (but see prose)
626
637
Inherited : no
@@ -644,7 +655,7 @@ The 'corner-top', 'corner-right',
644
655
<pre class=propdef>
645
656
Name : corner-top, corner-right, corner-bottom, corner-left,
646
657
corner-block-start, corner-block-end, corner-inline-start, corner-inline-end
647
- Value : [ <<length-percentage [0,∞]>>{1,2} [ / <<length-percentage [0,∞]>>{1,2} ]? ] || <<corner-shape-value>>{1,2}
658
+ Value : <<'border-top-radius'>> || <<' corner-top-shape'>>
648
659
Initial : 0
649
660
Applies to : all elements (but see prose)
650
661
Inherited : no
@@ -663,7 +674,7 @@ The 'corner' shorthand</h4>
663
674
664
675
<pre class="propdef">
665
676
Name : corner
666
- Value : [ <<length-percentage [0,∞]>>{1,4} [ / <<length-percentage [0,∞]>>{1,4} ]? ] || <<corner-shape-value>>{1,4}
677
+ Value : <<'border-radius'>> || <<' corner-shape'>>
667
678
Initial : 0
668
679
Applies to : all elements (but see prose)
669
680
Inherited : no
0 commit comments