minmax-length-percent-computed.html (3535B)
1 <!DOCTYPE html> 2 <link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func"> 3 <link rel="help" href="https://drafts.csswg.org/css-values-4/#mixed-percentages"> 4 <link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking"> 5 <link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script src="../support/numeric-testcommon.js"></script> 9 <div id="container" style="font-size: 20px; width: 400px"> 10 <div id="target"></div> 11 </div> 12 <script> 13 14 // Identity tests 15 test_math_used('min(1px + 1%)', 'calc(1px + 1%)', {prop:'margin-left'}); 16 test_math_used('min(1cm + 1%)', 'calc(1cm + 1%)'); 17 test_math_used('min(1mm + 1%)', 'calc(1mm + 1%)'); 18 test_math_used('min(1Q + 1%)', 'calc(1Q + 1%)'); 19 test_math_used('min(1in + 1%)', 'calc(1in + 1%)'); 20 test_math_used('min(1pc + 1%)', 'calc(1pc + 1%)'); 21 test_math_used('min(1pt + 1%)', 'calc(1pt + 1%)'); 22 test_math_used('min(1em + 1%)', 'calc(1em + 1%)'); 23 test_math_used('min(1ex + 1%)', 'calc(1ex + 1%)'); 24 test_math_used('min(1ch + 1%)', 'calc(1ch + 1%)'); 25 test_math_used('min(1rem + 1%)', 'calc(1rem + 1%)'); 26 test_math_used('min(1vh + 1%)', 'calc(1vh + 1%)'); 27 test_math_used('min(1vw + 1%)', 'calc(1vw + 1%)'); 28 test_math_used('min(1vmin + 1%)', 'calc(1vmin + 1%)'); 29 test_math_used('min(1vmax + 1%)', 'calc(1vmax + 1%)'); 30 test_math_used('max(1px + 1%)', 'calc(1px + 1%)'); 31 test_math_used('max(1cm + 1%)', 'calc(1cm + 1%)'); 32 test_math_used('max(1mm + 1%)', 'calc(1mm + 1%)'); 33 test_math_used('max(1Q + 1%)', 'calc(1Q + 1%)'); 34 test_math_used('max(1in + 1%)', 'calc(1in + 1%)'); 35 test_math_used('max(1pc + 1%)', 'calc(1pc + 1%)'); 36 test_math_used('max(1pt + 1%)', 'calc(1pt + 1%)'); 37 test_math_used('max(1em + 1%)', 'calc(1em + 1%)'); 38 test_math_used('max(1ex + 1%)', 'calc(1ex + 1%)'); 39 test_math_used('max(1ch + 1%)', 'calc(1ch + 1%)'); 40 test_math_used('max(1rem + 1%)', 'calc(1rem + 1%)'); 41 test_math_used('max(1vh + 1%)', 'calc(1vh + 1%)'); 42 test_math_used('max(1vw + 1%)', 'calc(1vw + 1%)'); 43 test_math_used('max(1vmin + 1%)', 'calc(1vmin + 1%)'); 44 test_math_used('max(1vmax + 1%)', 'calc(1vmax + 1%)'); 45 46 // Comparisons between lengths and percentages 47 test_math_used('min(20px, 10%)', '20px'); 48 test_math_used('min(1em, 10%)', '20px'); 49 test_math_used('max(20px, 10%)', '40px'); 50 test_math_used('max(1em, 10%)', '40px'); 51 52 document.getElementById('container').style.width = '100px'; 53 test_math_used('min(20px, 10%)', '10px', {msgExtra:'width=100px'}); 54 test_math_used('min(1em, 10%)', '10px', {msgExtra:'width=100px'}); 55 test_math_used('max(20px, 10%)', '20px', {msgExtra:'width=100px'}); 56 test_math_used('max(1em, 10%)', '20px', {msgExtra:'width=100px'}); 57 document.getElementById('container').style.width = '400px'; 58 59 // Comparisons between different mixings 60 test_math_used('min(30px + 10%, 60px + 5%)', '70px'); 61 test_math_used('max(2em + 10%, 1em + 20%)', '100px'); 62 63 // General calculations 64 test_math_used('calc(min(1.5em, 10%) + 10px)', '40px'); 65 test_math_used('calc(min(1.5em, 10%) - 10px)', '20px'); 66 test_math_used('calc(min(1.5em, 10%) * 2)', '60px'); 67 test_math_used('calc(min(1.5em, 10%) / 2)', '15px'); 68 test_math_used('calc(max(1em, 15%) + 10px)', '70px'); 69 test_math_used('calc(max(1em, 15%) - 10px)', '50px'); 70 test_math_used('calc(max(1em, 15%) * 2)', '120px'); 71 test_math_used('calc(max(1em, 15%) / 2)', '30px'); 72 test_math_used('calc(min(1.5em, 10%) + max(1em, 15%))', '90px'); 73 test_math_used('calc(min(1.5em, 10%) - max(1em, 15%))', '-30px'); 74 </script>