grid-template-columns-valid.html (4126B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>CSS Grid Layout Test: parsing grid-template-columns with valid values</title> 6 <link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-template-columns"> 7 <meta name="assert" content="grid-template-columns supports the full grammar 'none | <track-list> | <auto-track-list>'."> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10 <script src="/css/support/parsing-testcommon.js"></script> 11 </head> 12 <body> 13 <script> 14 test_valid_value("grid-template-columns", "none"); 15 16 // track-size <fixed-breadth> = <length-percentage> | <flex> | min-content | max-content | auto 17 test_valid_value("grid-template-columns", '10px'); 18 test_valid_value("grid-template-columns", '20%'); 19 test_valid_value("grid-template-columns", 'calc(-0.5em + 10px)'); 20 test_valid_value("grid-template-columns", 'calc(0.5em + 10px)'); 21 test_valid_value("grid-template-columns", 'calc(30% + 40vw)'); 22 test_valid_value("grid-template-columns", '5fr'); 23 test_valid_value("grid-template-columns", 'min-content'); 24 test_valid_value("grid-template-columns", 'max-content'); 25 test_valid_value("grid-template-columns", 'auto'); 26 27 // track-size minmax( <inflexible-breadth> , <track-breadth> ) 28 test_valid_value("grid-template-columns", 'minmax(10px, auto)'); 29 test_valid_value("grid-template-columns", 'minmax(20%, max-content)'); 30 test_valid_value("grid-template-columns", 'minmax(calc(-0.5em + 10px), min-content)'); 31 test_valid_value("grid-template-columns", 'minmax(calc(0.5em + 10px), 5fr)'); 32 test_valid_value("grid-template-columns", 'minmax(calc(30% + 40vw), 10px)'); 33 test_valid_value("grid-template-columns", 'minmax(min-content, 20%)'); 34 test_valid_value("grid-template-columns", 'minmax(max-content, calc(-0.5em + 10px))'); 35 test_valid_value("grid-template-columns", 'minmax(auto, calc(0.5em + 10px))'); 36 37 // track-size fit-content( <length-percentage> ) 38 test_valid_value("grid-template-columns", 'fit-content(10px)'); 39 test_valid_value("grid-template-columns", 'fit-content(20%)'); 40 test_valid_value("grid-template-columns", 'fit-content(calc(-0.5em + 10px))'); 41 test_valid_value("grid-template-columns", 'fit-content(calc(0.5em + 10px))'); 42 test_valid_value("grid-template-columns", 'fit-content(calc(30% + 40vw))'); 43 44 // <track-repeat> = repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? ) 45 46 // 'repeat(1, [] 10px)' in Blink 47 // 'repeat(1, 10px)' in Firefox 48 // '[] 10px' in Safari 49 // '10px' in Edge 18 50 test_valid_value("grid-template-columns", 'repeat(1, [] 10px [])', 'repeat(1, 10px)'); 51 52 // 'repeat(1, [one two] 20%)' in Blink, Firefox 53 // '[one two] 20%' in Safari, Edge 18 54 test_valid_value("grid-template-columns", 'repeat(1, [one two] 20%)'); 55 56 // 'repeat(2, minmax(10px, auto))' in Blink, Firefox, Edge 18 57 // 'minmax(10px, auto) minmax(10px, auto)' in Safari 58 test_valid_value("grid-template-columns", 'repeat(2, minmax(10px, auto))'); 59 60 test_valid_value("grid-template-columns", 'repeat(2, fit-content(20%) [three four] 30px 40px [five six])'); 61 62 // <track-list> = [ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>? 63 test_valid_value("grid-template-columns", 'min-content repeat(5, minmax(10px, auto))'); 64 test_valid_value("grid-template-columns", '[] 150px [] 1fr []', '150px 1fr'); 65 66 // <auto-repeat> = repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? ) 67 test_valid_value("grid-template-columns", 'repeat(auto-fill, 10px)'); 68 test_valid_value("grid-template-columns", 'repeat(auto-fit, [one] 20%)'); 69 test_valid_value("grid-template-columns", 'repeat(auto-fill, minmax(30px, 5fr) [two])'); 70 test_valid_value("grid-template-columns", 'repeat(auto-fit, [three] minmax(max-content, 6em) [four])'); 71 72 // <auto-track-list> = 73 // [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? 74 // <auto-repeat> 75 // [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? 76 77 test_valid_value("grid-template-columns", '[one] repeat(2, minmax(10px, auto)) [two] 30px [three] repeat(auto-fill, 10px) 40px [four five] repeat(2, minmax(10px, auto)) [six]'); 78 </script> 79 </body> 80 </html>