Advertisement
Guest User

Untitled

a guest
Apr 30th, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.00 KB | None | 0 0
  1. index.html:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Diagram Editor</title>
  8. <link rel="stylesheet" href="style.css">
  9.  
  10. </head>
  11. <body>
  12.  
  13. <div class="geHeaderContainer">
  14. <div class="geMenubarContainer">
  15. <img src="./icons/header.png">
  16. <a class="geIcon"></a>
  17. <div class="geTextDiv">
  18. <a class="geItem"></a>
  19. </div>
  20. <div class="geMenubar">
  21. <a class="geItem">Файл
  22. <div class="geDropdown">
  23. <div class="geDropdownItem">Открыть</div>
  24. <div class="geDropdownItem">Сохранить</div>
  25. <div class="geDropdownItem">Выход</div>
  26. </div>
  27. </a>
  28. <a class="geItem">Правка
  29. <div class="geDropdown">
  30. <div class="geDropdownItem">Отменить</div>
  31. <div class="geDropdownItem">Повторить</div>
  32. <div class="geDropdownItem">Вырезать</div>
  33. <div class="geDropdownItem">Копировать</div>
  34. <div class="geDropdownItem">Вставить</div>
  35. </div>
  36. </a>
  37. <a class="geItem">Вид
  38. <div class="geDropdown">
  39. <div class="geDropdownItem">Увеличить</div>
  40. <div class="geDropdownItem">Уменьшить</div>
  41. </div>
  42. </a>
  43. <a class="geItem">Положение
  44. <div class="geDropdown">
  45. <div class="geDropdownItem">Вверх</div>
  46. <div class="geDropdownItem">Вниз</div>
  47. <div class="geDropdownItem">Влево</div>
  48. <div class="geDropdownItem">Вправо</div>
  49. </div>
  50. </a>
  51. <a class="geItem">Дополнительно
  52. <div class="geDropdown">
  53. <div class="geDropdownItem">Настройки</div>
  54. <div class="geDropdownItem">Справка</div>
  55. </div>
  56. </a>
  57. <a class="geItem">Помощь
  58. <div class="geDropdown">
  59. <div class="geDropdownItem">О программе</div>
  60. <div class="geDropdownItem">Поддержка</div>
  61. </div>
  62. </a>
  63. </div>
  64. </div>
  65. <div class="geToolbarContainer">
  66. <div class="geToolbar"></div>
  67. <a id="zoom-scale" class="geLabel" title="Масштаб (Alt+Mousewheel)">
  68. 100%
  69. <img src="icons/arrow.gif">
  70.  
  71. </a>
  72. <div id="scale-dropdown">
  73. <a class="scale-option" data-scale="0.25">25%</a>
  74. <a class="scale-option" data-scale="0.5">50%</a>
  75. <a class="scale-option" data-scale="0.75">75%</a>
  76. <a class="scale-option" data-scale="1">100%</a>
  77. <a class="scale-option" data-scale="1.25">125%</a>
  78. <a class="scale-option" data-scale="1.5">150%</a>
  79. <a class="scale-option" data-scale="1.75">175%</a>
  80. </div>
  81. <div class="geSeparator"></div>
  82. <a class="geLabel" title="Увеличить">
  83. <img src="icons/glass1.png"></img>
  84. </a>
  85. <a class="geLabel" title="Уменьшить">
  86. <img src="icons/glass2.png"></img>
  87. </a>
  88. <div class="geSeparator"></div>
  89. <a class="geLabel" title="Отменить (Ctrl+Z)">
  90. <img src="icons/undo.png"></img>
  91. </a>
  92. <a class="geLabel" title="Вернуть (Ctrl+Y)">
  93. <img src="icons/revert.png"></img>
  94. </a>
  95. <div class="geSeparator"></div>
  96. <a id='delete-button' class="geLabel" title="Удалить (Delete)">
  97. <img src="icons/delete.png"></img>
  98. </a>
  99. <div class="geSeparator"></div>
  100. <a class="geLabel" title="Цвет линии">
  101. <img src="icons/pencil.png"></img>
  102. </a>
  103. <a class="geLabel" title="Цвет заливки">
  104. <img src="icons/filling.png"></img>
  105. </a>
  106. <input type="color" id="color-pick-input" title="Цвет линии">
  107. <input type="range" id="line-width-input" title="Размер сетки" min="1" max="100" value="20">
  108. <span id="range-value"></span>
  109. <div class="geSeparator"></div>
  110. <a class="geLabel" title="Тип соединения">
  111. <img src="icons/lines.png"></img>
  112. </a>
  113. <a id="textBox" class="geLabel" title="Добавить текст">
  114. <img src="icons/text.png"></img>
  115. </a>
  116. <div class="geSeparator"></div>
  117. <a id="clear-button" class="geLabel" title="очистить">
  118. <img src="icons/clear.png"></img>
  119. </a>
  120. <a id="save-button" class="geLabel" title="сохранить">
  121. <img src="icons/save.png"></img>
  122. </a>
  123. <a id="open-button" class="geLabel" title="открыть">
  124. <img src="icons/open.png"></img>
  125. </a>
  126. <div class="geSeparator"></div>
  127. </div>
  128. </div>
  129.  
  130.  
  131. <div id="sidebar">
  132. <img id="btn-toggle-menu" src="icons/next.png"></img>
  133. <h3>Фигуры</h3>
  134.  
  135. <a class="geTitle" >Избранное</a>
  136. <a class="geTitle" >Общие
  137. <div class="geSidebar">
  138.  
  139. <a class="geItem" title="прямая линия" data-shape="line">
  140. <img src="mainFigures/line.png" ></img>
  141. </a>
  142. <a class="geItem" title="прямоугольник" data-shape="rectangle">
  143. <img src="mainFigures/rectangle.png" ></img>
  144. </a>
  145. <a class="geItem" title="закругленный прямоугольник" data-shape="rounded-rectangle">
  146. <img src="mainFigures/rounded-rectangle.png" ></img>
  147. </a>
  148. <a class="geItem" title="круг" data-shape="circle">
  149. <img src="mainFigures/circle.png" ></img>
  150. </a>
  151. <a class="geItem" title="эллипс" data-shape="ellipse">
  152. <img src="mainFigures/ellipse.png" ></img>
  153. </a>
  154. <a class="geItem" title="треугольник" data-shape="triangle">
  155. <img src="mainFigures/triangle.png" ></img>
  156. </a>
  157. <a class="geItem" title="трапеция" data-shape="trapezium">
  158. <img src="mainFigures/trapezium.png" ></img>
  159. </a>
  160. <a class="geItem" title="комментарий" data-shape="90trapezium">
  161. <img src="mainFigures/90trapezium.png" ></img>
  162. </a>
  163. <a class="geItem" title="ромб" data-shape="rhomb">
  164. <img src="mainFigures/rhomb.png" ></img>
  165. </a>
  166. <a class="geItem" title="параллелограмм" data-shape="parallelogram">
  167. <img src="mainFigures/parallelogram.png" ></img>
  168. </a>
  169. <a class="geItem" title="пятиугольник" data-shape="pentagon">
  170. <img src="mainFigures/pentagon.png" ></img>
  171. </a>
  172. <a class="geItem" title="шестиугольник" data-shape="hexagon">
  173. <img src="mainFigures/hexagon.png" ></img>
  174. </a>
  175. <a class="geItem" title="цилиндр" data-shape="cylinder">
  176. <img src="mainFigures/cylinder.png" ></img>
  177. </a>
  178.  
  179. <a class="geItem" title="односторонняя стрелка" data-shape="arrow">
  180. <img src="mainFigures/arrows.png" ></img>
  181. </a>
  182. <a class="geItem" title="двусторонняя стрелка" data-shape="double-arrow">
  183. <img src="mainFigures/double-arrow.png" ></img>
  184. </a>
  185. <a class="geItem" title="криволинейная стрелка" data-shape="curved-arrow" >
  186. <img src="mainFigures/curve-arrow.png" ></img>
  187. </a>
  188. </div>
  189. </a>
  190. <a class="geTitle" >Блок-схемы
  191. <div class="geSidebar">
  192.  
  193. <a class="geItem" title="прямая линия" data-shape="line">
  194. <img src="mainFigures/line.png" ></img>
  195. </a>
  196. <a class="geItem" title="прямоугольник" data-shape="rectangle">
  197. <img src="mainFigures/rectangle.png" ></img>
  198. </a>
  199. <a class="geItem" title="закругленный прямоугольник" data-shape="rounded-rectangle">
  200. <img src="mainFigures/rounded-rectangle.png" ></img>
  201. </a>
  202. <a class="geItem" title="круг" data-shape="circle">
  203. <img src="mainFigures/circle.png" ></img>
  204. </a>
  205. <a class="geItem" title="эллипс" data-shape="ellipse">
  206. <img src="mainFigures/ellipse.png" ></img>
  207. </a>
  208. <a class="geItem" title="треугольник" data-shape="triangle">
  209. <img src="mainFigures/triangle.png" ></img>
  210. </a>
  211. <a class="geItem" title="трапеция" data-shape="trapezium">
  212. <img src="mainFigures/trapezium.png" ></img>
  213. </a>
  214. <a class="geItem" title="комментарий" data-shape="90trapezium">
  215. <img src="mainFigures/90trapezium.png" ></img>
  216. </a>
  217. <a class="geItem" title="ромб" data-shape="rhomb">
  218. <img src="mainFigures/rhomb.png" ></img>
  219. </a>
  220. <a class="geItem" title="параллелограмм" data-shape="parallelogram">
  221. <img src="mainFigures/parallelogram.png" ></img>
  222. </a>
  223. <a class="geItem" title="пятиугольник" data-shape="pentagon">
  224. <img src="mainFigures/pentagon.png" ></img>
  225. </a>
  226. <a class="geItem" title="шестиугольник" data-shape="hexagon">
  227. <img src="mainFigures/hexagon.png" ></img>
  228. </a>
  229. <a class="geItem" title="цилиндр" data-shape="cylinder">
  230. <img src="mainFigures/cylinder.png" ></img>
  231. </a>
  232.  
  233. <a class="geItem" title="односторонняя стрелка" data-shape="arrow">
  234. <img src="mainFigures/arrows.png" ></img>
  235. </a>
  236. <a class="geItem" title="двусторонняя стрелка" data-shape="double-arrow">
  237. <img src="mainFigures/double-arrow.png" ></img>
  238. </a>
  239. <a class="geItem" title="криволинейная стрелка" data-shape="curved-arrow" >
  240. <img src="mainFigures/curve-arrow.png" ></img>
  241. </a>
  242. </div>
  243. </a>
  244. <a class="geTitle" >UML
  245. <div class="geSidebar">
  246.  
  247. <a class="geItem" title="класс" data-shape="class">
  248. <img src="mainFigures/line.png" ></img>
  249. </a>
  250. <a class="geItem" title="интерфейс" data-shape="interface">
  251. <img src="mainFigures/rectangle.png" ></img>
  252. </a>
  253. <a class="geItem" title="обьект" data-shape="rounded-rectangle">
  254. <img src="mainFigures/rounded-rectangle.png" ></img>
  255. </a>
  256. <a class="geItem" title="круг" data-shape="circle">
  257. <img src="mainFigures/circle.png" ></img>
  258. </a>
  259. <a class="geItem" title="эллипс" data-shape="ellipse">
  260. <img src="mainFigures/ellipse.png" ></img>
  261. </a>
  262. <a class="geItem" title="треугольник" data-shape="triangle">
  263. <img src="mainFigures/triangle.png" ></img>
  264. </a>
  265. <a class="geItem" title="трапеция" data-shape="trapezium">
  266. <img src="mainFigures/trapezium.png" ></img>
  267. </a>
  268. <a class="geItem" title="комментарий" data-shape="90trapezium">
  269. <img src="mainFigures/90trapezium.png" ></img>
  270. </a>
  271. <a class="geItem" title="ромб" data-shape="rhomb">
  272. <img src="mainFigures/rhomb.png" ></img>
  273. </a>
  274. <a class="geItem" title="параллелограмм" data-shape="parallelogram">
  275. <img src="mainFigures/parallelogram.png" ></img>
  276. </a>
  277. <a class="geItem" title="пятиугольник" data-shape="pentagon">
  278. <img src="mainFigures/pentagon.png" ></img>
  279. </a>
  280. <a class="geItem" title="шестиугольник" data-shape="hexagon">
  281. <img src="mainFigures/hexagon.png" ></img>
  282. </a>
  283. <a class="geItem" title="цилиндр" data-shape="cylinder">
  284. <img src="mainFigures/cylinder.png" ></img>
  285. </a>
  286.  
  287. <a class="geItem" title="односторонняя стрелка" data-shape="arrow">
  288. <img src="mainFigures/arrows.png" ></img>
  289. </a>
  290. <a class="geItem" title="двусторонняя стрелка" data-shape="double-arrow">
  291. <img src="mainFigures/double-arrow.png" ></img>
  292. </a>
  293. <a class="geItem" title="криволинейная стрелка" data-shape="curved-arrow" >
  294. <img src="mainFigures/curve-arrow.png" ></img>
  295. </a>
  296. </div>
  297. </a>
  298. </div>
  299. <div id="diagram-container">
  300. <div id="canvas" >
  301. </div>
  302. </div>
  303. <div id="properties-panel">
  304. <h2>Стили элемента</h2>
  305. <label for="stroke-color">Цвет контура:</label>
  306. <input type="color" id="stroke-color"><br>
  307.  
  308. <label for="fill-color">Цвет заливки:</label>
  309. <input type="color" id="fill-color"><br>
  310.  
  311. <label for="line-width">Толщина линии:</label>
  312. <input type="number" id="line-width" min="1" max="10" value="1"><br>
  313.  
  314. <label for="line-style">Тип линии:</label>
  315. <select id="line-style">
  316. <option value="solid">Сплошная</option>
  317. <option value="dashed">Пунктирная</option>
  318. <option value="dotted">Точечная</option>
  319. </select><br>
  320.  
  321. <label for="text-content">Текст:</label>
  322. <input type="text" id="text-content"><br>
  323.  
  324. <label for="text-size">Размер текста:</label>
  325. <input type="number" id="text-size" min="8" max="24" value="12"><br>
  326.  
  327. <label for="text-font">Шрифт текста:</label>
  328. <select id="text-font">
  329. <option value="Arial">Arial</option>
  330. <option value="Helvetica">Helvetica</option>
  331. <option value="Times New Roman">Times New Roman</option>
  332. <!-- Добавьте другие варианты шрифтов по вашему усмотрению -->
  333. </select><br>
  334.  
  335. <label for="text-weight">Жирность текста:</label>
  336. <select id="text-weight">
  337. <option value="normal">Обычный</option>
  338. <option value="bold">Жирный</option>
  339. </select><br>
  340.  
  341. <button id="apply-styles">Применить стили</button>
  342. </div>
  343.  
  344.  
  345. <script src="node_modules/@joint/core/dist/joint.js"></script>
  346.  
  347.  
  348. <script src="script.js"></script>
  349. <script src="index.js"></script>
  350. </body>
  351. </html>
  352.  
  353. style.css:
  354. body {
  355. font-family: Arial, sans-serif;
  356. display:flex;
  357. flex-direction: column;
  358. margin: 0;
  359. padding: 0;
  360. background-color: #fbfbfb;
  361. align-items: center;
  362. justify-content: center;
  363. width: 100%;
  364. height: 100%;
  365. }
  366. a:hover {
  367. color: #FFFF00;
  368. }
  369. a {
  370. text-decoration: none;
  371. cursor: pointer;
  372. }
  373. .geHeaderContainer{
  374. display: flex;
  375. position: fixed;
  376. width: 100%;
  377. }
  378. .geMenubarContainer{
  379. display: flex;
  380. position: fixed;
  381. top: 0px;
  382. left: 0px;
  383. right: 0px;
  384. height: 64px;
  385. background-color: #f1f3f4;
  386. width: 100%;
  387. z-index: 0;
  388. }
  389. .geMenubarContainer img{
  390. margin-left: 600px;
  391. height: 64px;
  392. width: 300px;
  393. }
  394. .geMenubarContainer .geTextDiv{
  395. right: 120px;
  396. left: 60px;
  397. top: 9px;
  398. height: 26px;
  399. display: block;
  400. overflow: hidden;
  401. text-overflow: ellipsis;
  402. visibility: visible;
  403. z-index: 0;
  404.  
  405. }
  406. .geTextDiv .geItem{
  407. padding: 2px 8px;
  408. display: inline;
  409. font-size: 18px;
  410. transition: all 0.1s ease-in-out;
  411. cursor: pointer;
  412. width: 100%;
  413. position: relative;
  414. }
  415. .geItem:hover .geDropdown {
  416. display: block;
  417. background-color: #ccc; /* Изменяем цвет фона при наведении */
  418. }
  419. .geDropdown {
  420. display: none;
  421. position: absolute; /* Используем абсолютное позиционирование */
  422. top: 100%; /* Отступ от верхнего края родительского элемента */
  423. background-color: #fff;
  424. border: 1px solid #ccc;
  425. z-index: 10;
  426. }
  427. .geDropdownItem {
  428. padding: 10px;
  429. cursor: pointer;
  430. z-index: 10;
  431.  
  432. }
  433. .geMenubar{
  434. display: flex;
  435. white-space: nowrap;
  436. align-items: center;
  437. position: absolute;
  438. padding-left: 59px;
  439. box-sizing: border-box;
  440. top: 34px;
  441. width: 100%;
  442. z-index: 0;
  443.  
  444. }
  445. .geMenubarContainer .geItem{
  446. padding: 6px 6px 6px 9px;
  447. transition: all 0.1s ease-in-out;
  448. }
  449. .geMenubarContainer .geIcon{
  450. display: block;
  451. position: absolute;
  452. top: 12px;
  453. width: 36px;
  454. height: 36px;
  455. margin: 8px 0px 8px 16px;
  456. opacity: 0.85;
  457. border-radius: 3px;
  458. background-position: center center;
  459. background-size: 90% 90%;
  460. background-repeat: no-repeat;
  461. background-image: url('../icons/icon.png')
  462. }
  463. .geToolbarContainer{
  464. border-width: 1px;
  465. border-style: none none solid none;
  466. box-shadow: none;
  467. overflow: hidden;
  468. position: absolute;
  469. cursor: default;
  470. z-index: 0;
  471. left: 0px;
  472. right: 0px;
  473. top: 64px;
  474. height: 40px;
  475. background-color: #f1f3f4;
  476.  
  477. }
  478. .geToolbar{
  479. padding-left: 16px;
  480. border-top: 1px solid #dadce0;
  481. box-shadow: inset 0 1px 0 0 #fff;
  482. padding-bottom: 3px;
  483. z-index: 0;
  484. }
  485. .geSeparator{
  486. float: left;
  487. width: 1px;
  488. height: 20px;
  489. background: #e5e5e5;
  490. margin-left: 8px;
  491. margin-right: 6px;
  492. margin-top: 4px;
  493. }
  494. .geLabel{
  495. white-space: nowrap;
  496. position: relative;
  497. overflow: hidden;
  498. width: 50px;
  499. float: left;
  500. margin: 2px;
  501. padding: 3px 5px 3px 5px;
  502. border: 1px solid transparent;
  503. transition: all 0.1s ease-in-out;
  504. }
  505. .geToolbar a {
  506. color: #000000;
  507. text-decoration: none;
  508. }
  509. .geToolbarContainer img{
  510. width:20px;
  511. height:20px;
  512. }
  513. .geButton {
  514. float: left;
  515. width: 20px;
  516. height: 20px;
  517. padding: 0px 2px 4px 2px;
  518. margin: 2px;
  519. border: 1px solid transparent;
  520. cursor: pointer;
  521. opacity: 0.6;
  522. transition: all 0.1s ease-in-out;
  523. }
  524.  
  525. #diagram-container {
  526. position: absolute;
  527. width: 100%;
  528. height: 100%; /* Высота экрана за вычетом высоты тулбара и сайдбара */
  529. top: 120px; /* Высота тулбара */
  530. left: 59px; /* Ширина тулбара */
  531. overflow: scroll;
  532. }
  533.  
  534. #canvas {
  535. width: 1000px;
  536. height: 1000px;
  537. top:5%;
  538. left:10%;
  539. border: 3px solid #ccc;
  540. background-color: #FFFFFF;
  541. }
  542. svg{
  543. left: 0px;
  544. top: 0px;
  545. width: 100%;
  546. height: 100%;
  547. display: block;
  548. min-width: 3407px;
  549. min-height: 1691px;
  550. position: absolute;
  551. background-image: none;
  552. }
  553. #sidebar {
  554. position: fixed;
  555. z-index: 1;
  556. top: 100px;
  557. bottom: 0px;
  558. right: 0;
  559. width: 16%;
  560. height: 100vh;
  561. background-color: #f1f3f4;
  562. padding: 20px;
  563. box-shadow: -5px 0px 5px rgba(0, 0, 0, 0.1);
  564. transition: right 0.3s ease;
  565. top: 18%;
  566.  
  567. }
  568.  
  569. #sidebar.open {
  570. right: -17.5%;
  571. }
  572.  
  573. #sidebar h3 {
  574. position: relative;
  575. padding-left: 30px; /* Добавляем отступ слева для размещения кнопки */
  576. text-align: center;
  577. }
  578.  
  579. #btn-toggle-menu {
  580. position: absolute;
  581. width: 20px; /* Размер изображения */
  582. height: 20px;
  583. left: 0; /* Положение слева */
  584. top: 0; /* Положение сверху */
  585. background-color: transparent;
  586. border: none;
  587. padding: 0;
  588. margin: 0;
  589. cursor: pointer;
  590. }
  591.  
  592. #btn-toggle-menu img {
  593. width: 20px; /* Размер изображения */
  594. height: 20px;
  595. }
  596. .geTitle{
  597. display: block;
  598. background-image: url('../icons/arrow.gif');
  599. background-repeat: no-repeat;
  600. background-position: 4px 50%;
  601. position: relative;
  602. padding-left: 72px;
  603. border-top: 1px solid #e5e5e5;
  604. font-weight: 500;
  605. font-size: 13px;
  606. border-color: #e5e5e5;
  607. }
  608. .geTitle .geSidebar{
  609. display: block;
  610. transform-origin: right top 0px;
  611. border-bottom: 1px solid #e5e5e5;
  612. padding: 6px;
  613. overflow: hidden;
  614.  
  615. }
  616. .geSidebar .geItem{
  617. display: inline-block;
  618. background-repeat: no-repeat;
  619. background-position: 50% 50%;
  620. border-radius: 8px;
  621. overflow: hidden;
  622. width: 34px;
  623. height: 32px;
  624.  
  625. padding: 1px;
  626. }
  627. .geItem img{
  628. right: 1px;
  629. top: 1px;
  630. width: 32px;
  631. height: 30px;
  632. display: block;
  633. position: relative;
  634. overflow: hidden;
  635. pointer-events: none;
  636. }
  637. #properties-panel {
  638. position: fixed;
  639. z-index: 1;
  640. left: -22%;
  641. top: 18%;
  642. bottom: 18%;
  643. width: 20%;
  644. height: 80%;
  645. padding: 20px;
  646. border: 1px solid #ccc;
  647. border-radius: 5px;
  648. background-color: #f9f9f9;
  649. }
  650. #properties-panel.open {
  651. left: 0;
  652. }
  653. #properties-panel h2 {
  654. font-size: 18px;
  655. margin-bottom: 10px;
  656. }
  657.  
  658. #properties-panel label {
  659. display: block;
  660. margin-bottom: 5px;
  661. }
  662.  
  663. #properties-panel input[type="color"],
  664. #properties-panel input[type="number"],
  665. #properties-panel select,
  666. #properties-panel input[type="text"] {
  667. width: 100%;
  668. margin-bottom: 10px;
  669. padding: 5px;
  670. border: 1px solid #ccc;
  671. border-radius: 3px;
  672. }
  673.  
  674. #apply-styles {
  675. width: 100%;
  676. padding: 10px;
  677. background-color: #007bff;
  678. color: #fff;
  679. border: none;
  680. border-radius: 3px;
  681. cursor: pointer;
  682. }
  683.  
  684. #apply-styles:hover {
  685. background-color: #0056b3;
  686. }
  687.  
  688. #scale-dropdown {
  689. display: none; /* Скрываем выпадающий список по умолчанию */
  690. }
  691.  
  692. #scale-dropdown.open {
  693. display: flex;
  694. }
  695.  
  696. .scale-option {
  697. display: block;
  698. padding: 5px 10px;
  699. cursor: pointer;
  700. }
  701.  
  702. .scale-option:hover {
  703. background-color: #f0f0f0; /* Цвет фона при наведении */
  704. }
  705. .hidden{
  706. display: none;
  707. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement