5.jsx样式绑定.html 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <script src="./babel.min.js"></script>
  8. <script src="./react.development.js"></script>
  9. <script src="./react-dom.development.js"></script>
  10. <style>
  11. .box {
  12. width: 300px;
  13. height: 300px;
  14. margin-left: 30px;
  15. background: #00f;
  16. }
  17. .text {
  18. color: #fff;
  19. font-size: 30px;
  20. }
  21. .reds {
  22. color: #f00;
  23. }
  24. .yellows {
  25. color: #ff0;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <!--
  31. 样式绑定:
  32. 1.class => className:在样式表中定义样式
  33. 2.style:在jsx语法中直接定义样式
  34. className绑定:
  35. className = "类名"
  36. className = {"类名1 类名2...."}
  37. -->
  38. <div id="root"></div>
  39. <script type="text/babel">
  40. const root = ReactDOM.createRoot(document.getElementById("root"));
  41. // let element = <div className="box">你好,我有一个帽衫</div>
  42. let element = <div className={'box text'}>你好,我有一个帽衫</div>
  43. // jsx中样式写法 只能是Object 不能是String
  44. // 多单词组合样式改为驼峰命名法
  45. let main = {
  46. width: "500px",
  47. height: "500px",
  48. border: "1px solid #000",
  49. margin: "100px auto",
  50. display:"flex",
  51. justifyContent: "space-between",
  52. }
  53. let left = {
  54. flex: "6.5",
  55. height: "100%",
  56. backgroundColor: "#f00"
  57. }
  58. let right = {
  59. flex: "2.5",
  60. height: "100%",
  61. backgroundColor: "#ff0"
  62. }
  63. element = (
  64. <div style={main}>
  65. <div style={left}></div>
  66. <div style={right}></div>
  67. </div>
  68. )
  69. element = <div className={5 < 2?'reds':'yellows'}>你好</div>
  70. root.render(element)
  71. </script>
  72. </body>
  73. </html>