6f39fab895c6ca5679b886c6bb30ff16a3b3b3df3d03c52a82fd69278aec742186ffd6c8568641263673ba805fc5b77eb894186a4b7091371d9514a4d705e3 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. {
  2. "title":"calc() as CSS unit value",
  3. "description":"Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`",
  4. "spec":"https://w3c.github.io/csswg-drafts/css-values-3/#calc-notation",
  5. "status":"cr",
  6. "links":[
  7. {
  8. "url":"https://hacks.mozilla.org/2010/06/css3-calc/",
  9. "title":"Mozilla Hacks article"
  10. },
  11. {
  12. "url":"https://developer.mozilla.org/en/docs/Web/CSS/calc",
  13. "title":"MDN Web Docs - calc"
  14. },
  15. {
  16. "url":"https://webplatform.github.io/docs/css/functions/calc",
  17. "title":"WebPlatform Docs"
  18. }
  19. ],
  20. "bugs":[
  21. {
  22. "description":"IE 9 - 11 and Edge do not support `width: calc()` on table cells. [Bug Report](https://web.archive.org/web/20171123043312/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10982196/)"
  23. },
  24. {
  25. "description":"IE 9 - 11 don't render `box-shadow` when `calc()` is used for any of the values"
  26. },
  27. {
  28. "description":"IE10 crashes when a div with a property using `calc()` has a child with [same property with inherit](https://stackoverflow.com/questions/19423384/css-less-calc-method-is-crashing-my-ie10)."
  29. },
  30. {
  31. "description":"IE10, IE11, and Edge < 14 don't support using `calc()` inside a `transform`. [Bug report](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/104773/)"
  32. },
  33. {
  34. "description":"IE11 is reported to have trouble with `calc()` with nested expressions, e.g. `width: calc((100% - 10px) / 3);` (i.e. it rounds differently)"
  35. },
  36. {
  37. "description":"IE11 is reported to not support `calc()` correctly in [generated content](https://stackoverflow.com/questions/31323915/internet-explorer-incorrectly-calculates-percentage-height-for-generated-content)"
  38. },
  39. {
  40. "description":"IE11 does not support transitioning values set with `calc()`"
  41. },
  42. {
  43. "description":"Safari & iOS Safari (both 6 and 7) does not support viewport units (`vw`, `vh`, etc) in `calc()`."
  44. },
  45. {
  46. "description":"IE & Edge are reported to not support calc inside a 'flex'. (Not tested on older versions)\r\nThis example does not work: `flex: 1 1 calc(50% - 20px);`"
  47. },
  48. {
  49. "description":"IE does not support `calc()` on color functions. Example: `color: hsl(calc(60 * 2), 100%, 50%)`."
  50. },
  51. {
  52. "description":"Firefox <48 does not support `calc()` inside the `line-height`, `stroke-width`, `stroke-dashoffset`, and `stroke-dasharray` properties. [Bug report](https://bugzilla.mozilla.org/show_bug.cgi?id=594933)"
  53. },
  54. {
  55. "description":"Firefox <59 does not support `calc()` on color functions. Example: `color: hsl(calc(60 * 2), 100%, 50%)`. [Bug Report](https://bugzilla.mozilla.org/show_bug.cgi?id=984021)"
  56. },
  57. {
  58. "description":"Firefox <66 does not support `width: calc()` on table cells. [Bug Report](https://bugzilla.mozilla.org/show_bug.cgi?id=957915)"
  59. }
  60. ],
  61. "categories":[
  62. "CSS3"
  63. ],
  64. "stats":{
  65. "ie":{
  66. "5.5":"n",
  67. "6":"n",
  68. "7":"n",
  69. "8":"n",
  70. "9":"a #2",
  71. "10":"a #3",
  72. "11":"a #3"
  73. },
  74. "edge":{
  75. "12":"y",
  76. "13":"y",
  77. "14":"y",
  78. "15":"y",
  79. "16":"y",
  80. "17":"y",
  81. "18":"y",
  82. "79":"y",
  83. "80":"y",
  84. "81":"y",
  85. "83":"y",
  86. "84":"y",
  87. "85":"y",
  88. "86":"y",
  89. "87":"y",
  90. "88":"y",
  91. "89":"y",
  92. "90":"y",
  93. "91":"y",
  94. "92":"y",
  95. "93":"y",
  96. "94":"y",
  97. "95":"y",
  98. "96":"y",
  99. "97":"y",
  100. "98":"y",
  101. "99":"y",
  102. "100":"y",
  103. "101":"y",
  104. "102":"y",
  105. "103":"y",
  106. "104":"y",
  107. "105":"y",
  108. "106":"y",
  109. "107":"y",
  110. "108":"y",
  111. "109":"y",
  112. "110":"y",
  113. "111":"y",
  114. "112":"y",
  115. "113":"y",
  116. "114":"y",
  117. "115":"y",
  118. "116":"y",
  119. "117":"y",
  120. "118":"y",
  121. "119":"y",
  122. "120":"y",
  123. "121":"y",
  124. "122":"y",
  125. "123":"y",
  126. "124":"y",
  127. "125":"y",
  128. "126":"y",
  129. "127":"y",
  130. "128":"y",
  131. "129":"y",
  132. "130":"y",
  133. "131":"y",
  134. "132":"y",
  135. "133":"y",
  136. "134":"y",
  137. "135":"y",
  138. "136":"y",
  139. "137":"y",
  140. "138":"y",
  141. "139":"y",
  142. "140":"y"
  143. },
  144. "firefox":{
  145. "2":"n",
  146. "3":"n",
  147. "3.5":"n",
  148. "3.6":"n",
  149. "4":"y x",
  150. "5":"y x",
  151. "6":"y x",
  152. "7":"y x",
  153. "8":"y x",
  154. "9":"y x",
  155. "10":"y x",
  156. "11":"y x",
  157. "12":"y x",
  158. "13":"y x",
  159. "14":"y x",
  160. "15":"y x",
  161. "16":"y",
  162. "17":"y",
  163. "18":"y",
  164. "19":"y",
  165. "20":"y",
  166. "21":"y",
  167. "22":"y",
  168. "23":"y",
  169. "24":"y",
  170. "25":"y",
  171. "26":"y",
  172. "27":"y",
  173. "28":"y",
  174. "29":"y",
  175. "30":"y",
  176. "31":"y",
  177. "32":"y",
  178. "33":"y",
  179. "34":"y",
  180. "35":"y",
  181. "36":"y",
  182. "37":"y",
  183. "38":"y",
  184. "39":"y",
  185. "40":"y",
  186. "41":"y",
  187. "42":"y",
  188. "43":"y",
  189. "44":"y",
  190. "45":"y",
  191. "46":"y",
  192. "47":"y",
  193. "48":"y",
  194. "49":"y",
  195. "50":"y",
  196. "51":"y",
  197. "52":"y",
  198. "53":"y",
  199. "54":"y",
  200. "55":"y",
  201. "56":"y",
  202. "57":"y",
  203. "58":"y",
  204. "59":"y",
  205. "60":"y",
  206. "61":"y",
  207. "62":"y",
  208. "63":"y",
  209. "64":"y",
  210. "65":"y",
  211. "66":"y",
  212. "67":"y",
  213. "68":"y",
  214. "69":"y",
  215. "70":"y",
  216. "71":"y",
  217. "72":"y",
  218. "73":"y",
  219. "74":"y",
  220. "75":"y",
  221. "76":"y",
  222. "77":"y",
  223. "78":"y",
  224. "79":"y",
  225. "80":"y",
  226. "81":"y",
  227. "82":"y",
  228. "83":"y",
  229. "84":"y",
  230. "85":"y",
  231. "86":"y",
  232. "87":"y",
  233. "88":"y",
  234. "89":"y",
  235. "90":"y",
  236. "91":"y",
  237. "92":"y",
  238. "93":"y",
  239. "94":"y",
  240. "95":"y",
  241. "96":"y",
  242. "97":"y",
  243. "98":"y",
  244. "99":"y",
  245. "100":"y",
  246. "101":"y",
  247. "102":"y",
  248. "103":"y",
  249. "104":"y",
  250. "105":"y",
  251. "106":"y",
  252. "107":"y",
  253. "108":"y",
  254. "109":"y",
  255. "110":"y",
  256. "111":"y",
  257. "112":"y",
  258. "113":"y",
  259. "114":"y",
  260. "115":"y",
  261. "116":"y",
  262. "117":"y",
  263. "118":"y",
  264. "119":"y",
  265. "120":"y",
  266. "121":"y",
  267. "122":"y",
  268. "123":"y",
  269. "124":"y",
  270. "125":"y",
  271. "126":"y",
  272. "127":"y",
  273. "128":"y",
  274. "129":"y",
  275. "130":"y",
  276. "131":"y",
  277. "132":"y",
  278. "133":"y",
  279. "134":"y",
  280. "135":"y",
  281. "136":"y",
  282. "137":"y",
  283. "138":"y",
  284. "139":"y",
  285. "140":"y",
  286. "141":"y",
  287. "142":"y",
  288. "143":"y",
  289. "144":"y",
  290. "145":"y"
  291. },
  292. "chrome":{
  293. "4":"n",
  294. "5":"n",
  295. "6":"n",
  296. "7":"n",
  297. "8":"n",
  298. "9":"n",
  299. "10":"n",
  300. "11":"n",
  301. "12":"n",
  302. "13":"n",
  303. "14":"n",
  304. "15":"n",
  305. "16":"n",
  306. "17":"n",
  307. "18":"n",
  308. "19":"y x",
  309. "20":"y x",
  310. "21":"y x",
  311. "22":"y x",
  312. "23":"y x",
  313. "24":"y x",
  314. "25":"y x",
  315. "26":"y",
  316. "27":"y",
  317. "28":"y",
  318. "29":"y",
  319. "30":"y",
  320. "31":"y",
  321. "32":"y",
  322. "33":"y",
  323. "34":"y",
  324. "35":"y",
  325. "36":"y",
  326. "37":"y",
  327. "38":"y",
  328. "39":"y",
  329. "40":"y",
  330. "41":"y",
  331. "42":"y",
  332. "43":"y",
  333. "44":"y",
  334. "45":"y",
  335. "46":"y",
  336. "47":"y",
  337. "48":"y",
  338. "49":"y",
  339. "50":"y",
  340. "51":"y",
  341. "52":"y",
  342. "53":"y",
  343. "54":"y",
  344. "55":"y",
  345. "56":"y",
  346. "57":"y",
  347. "58":"y",
  348. "59":"y",
  349. "60":"y",
  350. "61":"y",
  351. "62":"y",
  352. "63":"y",
  353. "64":"y",
  354. "65":"y",
  355. "66":"y",
  356. "67":"y",
  357. "68":"y",
  358. "69":"y",
  359. "70":"y",
  360. "71":"y",
  361. "72":"y",
  362. "73":"y",
  363. "74":"y",
  364. "75":"y",
  365. "76":"y",
  366. "77":"y",
  367. "78":"y",
  368. "79":"y",
  369. "80":"y",
  370. "81":"y",
  371. "83":"y",
  372. "84":"y",
  373. "85":"y",
  374. "86":"y",
  375. "87":"y",
  376. "88":"y",
  377. "89":"y",
  378. "90":"y",
  379. "91":"y",
  380. "92":"y",
  381. "93":"y",
  382. "94":"y",
  383. "95":"y",
  384. "96":"y",
  385. "97":"y",
  386. "98":"y",
  387. "99":"y",
  388. "100":"y",
  389. "101":"y",
  390. "102":"y",
  391. "103":"y",
  392. "104":"y",
  393. "105":"y",
  394. "106":"y",
  395. "107":"y",
  396. "108":"y",
  397. "109":"y",
  398. "110":"y",
  399. "111":"y",
  400. "112":"y",
  401. "113":"y",
  402. "114":"y",
  403. "115":"y",
  404. "116":"y",
  405. "117":"y",
  406. "118":"y",
  407. "119":"y",
  408. "120":"y",
  409. "121":"y",
  410. "122":"y",
  411. "123":"y",
  412. "124":"y",
  413. "125":"y",
  414. "126":"y",
  415. "127":"y",
  416. "128":"y",
  417. "129":"y",
  418. "130":"y",
  419. "131":"y",
  420. "132":"y",
  421. "133":"y",
  422. "134":"y",
  423. "135":"y",
  424. "136":"y",
  425. "137":"y",
  426. "138":"y",
  427. "139":"y",
  428. "140":"y",
  429. "141":"y",
  430. "142":"y",
  431. "143":"y"
  432. },
  433. "safari":{
  434. "3.1":"n",
  435. "3.2":"n",
  436. "4":"n",
  437. "5":"n",
  438. "5.1":"n",
  439. "6":"y x",
  440. "6.1":"y",
  441. "7":"y",
  442. "7.1":"y",
  443. "8":"y",
  444. "9":"y",
  445. "9.1":"y",
  446. "10":"y",
  447. "10.1":"y",
  448. "11":"y",
  449. "11.1":"y",
  450. "12":"y",
  451. "12.1":"y",
  452. "13":"y",
  453. "13.1":"y",
  454. "14":"y",
  455. "14.1":"y",
  456. "15":"y",
  457. "15.1":"y",
  458. "15.2-15.3":"y",
  459. "15.4":"y",
  460. "15.5":"y",
  461. "15.6":"y",
  462. "16.0":"y",
  463. "16.1":"y",
  464. "16.2":"y",
  465. "16.3":"y",
  466. "16.4":"y",
  467. "16.5":"y",
  468. "16.6":"y",
  469. "17.0":"y",
  470. "17.1":"y",
  471. "17.2":"y",
  472. "17.3":"y",
  473. "17.4":"y",
  474. "17.5":"y",
  475. "17.6":"y",
  476. "18.0":"y",
  477. "18.1":"y",
  478. "18.2":"y",
  479. "18.3":"y",
  480. "18.4":"y",
  481. "18.5-18.6":"y",
  482. "26.0":"y",
  483. "26.1":"y",
  484. "TP":"y"
  485. },
  486. "opera":{
  487. "9":"n",
  488. "9.5-9.6":"n",
  489. "10.0-10.1":"n",
  490. "10.5":"n",
  491. "10.6":"n",
  492. "11":"n",
  493. "11.1":"n",
  494. "11.5":"n",
  495. "11.6":"n",
  496. "12":"n",
  497. "12.1":"n",
  498. "15":"y",
  499. "16":"y",
  500. "17":"y",
  501. "18":"y",
  502. "19":"y",
  503. "20":"y",
  504. "21":"y",
  505. "22":"y",
  506. "23":"y",
  507. "24":"y",
  508. "25":"y",
  509. "26":"y",
  510. "27":"y",
  511. "28":"y",
  512. "29":"y",
  513. "30":"y",
  514. "31":"y",
  515. "32":"y",
  516. "33":"y",
  517. "34":"y",
  518. "35":"y",
  519. "36":"y",
  520. "37":"y",
  521. "38":"y",
  522. "39":"y",
  523. "40":"y",
  524. "41":"y",
  525. "42":"y",
  526. "43":"y",
  527. "44":"y",
  528. "45":"y",
  529. "46":"y",
  530. "47":"y",
  531. "48":"y",
  532. "49":"y",
  533. "50":"y",
  534. "51":"y",
  535. "52":"y",
  536. "53":"y",
  537. "54":"y",
  538. "55":"y",
  539. "56":"y",
  540. "57":"y",
  541. "58":"y",
  542. "60":"y",
  543. "62":"y",
  544. "63":"y",
  545. "64":"y",
  546. "65":"y",
  547. "66":"y",
  548. "67":"y",
  549. "68":"y",
  550. "69":"y",
  551. "70":"y",
  552. "71":"y",
  553. "72":"y",
  554. "73":"y",
  555. "74":"y",
  556. "75":"y",
  557. "76":"y",
  558. "77":"y",
  559. "78":"y",
  560. "79":"y",
  561. "80":"y",
  562. "81":"y",
  563. "82":"y",
  564. "83":"y",
  565. "84":"y",
  566. "85":"y",
  567. "86":"y",
  568. "87":"y",
  569. "88":"y",
  570. "89":"y",
  571. "90":"y",
  572. "91":"y",
  573. "92":"y",
  574. "93":"y",
  575. "94":"y",
  576. "95":"y",
  577. "96":"y",
  578. "97":"y",
  579. "98":"y",
  580. "99":"y",
  581. "100":"y",
  582. "101":"y",
  583. "102":"y",
  584. "103":"y",
  585. "104":"y",
  586. "105":"y",
  587. "106":"y",
  588. "107":"y",
  589. "108":"y",
  590. "109":"y",
  591. "110":"y",
  592. "111":"y",
  593. "112":"y",
  594. "113":"y",
  595. "114":"y",
  596. "115":"y",
  597. "116":"y",
  598. "117":"y",
  599. "118":"y",
  600. "119":"y",
  601. "120":"y",
  602. "121":"y",
  603. "122":"y"
  604. },
  605. "ios_saf":{
  606. "3.2":"n",
  607. "4.0-4.1":"n",
  608. "4.2-4.3":"n",
  609. "5.0-5.1":"n",
  610. "6.0-6.1":"y x",
  611. "7.0-7.1":"y",
  612. "8":"y",
  613. "8.1-8.4":"y",
  614. "9.0-9.2":"y",
  615. "9.3":"y",
  616. "10.0-10.2":"y",
  617. "10.3":"y",
  618. "11.0-11.2":"y",
  619. "11.3-11.4":"y",
  620. "12.0-12.1":"y",
  621. "12.2-12.5":"y",
  622. "13.0-13.1":"y",
  623. "13.2":"y",
  624. "13.3":"y",
  625. "13.4-13.7":"y",
  626. "14.0-14.4":"y",
  627. "14.5-14.8":"y",
  628. "15.0-15.1":"y",
  629. "15.2-15.3":"y",
  630. "15.4":"y",
  631. "15.5":"y",
  632. "15.6-15.8":"y",
  633. "16.0":"y",
  634. "16.1":"y",
  635. "16.2":"y",
  636. "16.3":"y",
  637. "16.4":"y",
  638. "16.5":"y",
  639. "16.6-16.7":"y",
  640. "17.0":"y",
  641. "17.1":"y",
  642. "17.2":"y",
  643. "17.3":"y",
  644. "17.4":"y",
  645. "17.5":"y",
  646. "17.6-17.7":"y",
  647. "18.0":"y",
  648. "18.1":"y",
  649. "18.2":"y",
  650. "18.3":"y",
  651. "18.4":"y",
  652. "18.5-18.6":"y",
  653. "26.0":"y",
  654. "26.1":"y"
  655. },
  656. "op_mini":{
  657. "all":"n"
  658. },
  659. "android":{
  660. "2.1":"n",
  661. "2.2":"n",
  662. "2.3":"n",
  663. "3":"n",
  664. "4":"n",
  665. "4.1":"n",
  666. "4.2-4.3":"n",
  667. "4.4":"a #1",
  668. "4.4.3-4.4.4":"a #1",
  669. "139":"y"
  670. },
  671. "bb":{
  672. "7":"n",
  673. "10":"y"
  674. },
  675. "op_mob":{
  676. "10":"n",
  677. "11":"n",
  678. "11.1":"n",
  679. "11.5":"n",
  680. "12":"n",
  681. "12.1":"n",
  682. "80":"y"
  683. },
  684. "and_chr":{
  685. "139":"y"
  686. },
  687. "and_ff":{
  688. "142":"y"
  689. },
  690. "ie_mob":{
  691. "10":"y",
  692. "11":"y"
  693. },
  694. "and_uc":{
  695. "15.5":"y"
  696. },
  697. "samsung":{
  698. "4":"y",
  699. "5.0-5.4":"y",
  700. "6.2-6.4":"y",
  701. "7.2-7.4":"y",
  702. "8.2":"y",
  703. "9.2":"y",
  704. "10.1":"y",
  705. "11.1-11.2":"y",
  706. "12.0":"y",
  707. "13.0":"y",
  708. "14.0":"y",
  709. "15.0":"y",
  710. "16.0":"y",
  711. "17.0":"y",
  712. "18.0":"y",
  713. "19.0":"y",
  714. "20":"y",
  715. "21":"y",
  716. "22":"y",
  717. "23":"y",
  718. "24":"y",
  719. "25":"y",
  720. "26":"y",
  721. "27":"y",
  722. "28":"y"
  723. },
  724. "and_qq":{
  725. "14.9":"y"
  726. },
  727. "baidu":{
  728. "13.52":"y"
  729. },
  730. "kaios":{
  731. "2.5":"y",
  732. "3.0-3.1":"y"
  733. }
  734. },
  735. "notes":"Support can be somewhat emulated in older versions of IE using the non-standard `expression()` syntax.\r\n\r\nDue to the way browsers handle [sub-pixel rounding](https://johnresig.com/blog/sub-pixel-problems-in-css/) differently, layouts using `calc()` expressions may have unexpected results.",
  736. "notes_by_num":{
  737. "1":"Partial support in Android Browser 4.4 refers to the browser lacking the ability to multiply and divide values.",
  738. "2":"Partial support in IE9 refers to the browser crashing when used as a `background-position` value.",
  739. "3":"Partial support in IE10/IE11 refers to calc not working properly with various use cases mentioned in known issues"
  740. },
  741. "usage_perc_y":95.97,
  742. "usage_perc_a":0.71,
  743. "ucprefix":false,
  744. "parent":"",
  745. "keywords":"",
  746. "chrome_id":"5765241438732288",
  747. "shown":true
  748. }