1 <!doctype html> 2 <html> 3 <head> 4 <title></title> 5 <meta charset='utf-8'> 6 <style type="text/css"> 7 :root,body{ 8 height: 100%; 9 width: 100%; 10 } 11 .z{ 12 width:200px; 13 height: 400px; 14 left: 400px; 15 position: absolute; 16 } 17 .z div{ 18 position: absolute; 19 20 } 21 .z .red{ 22 background-color: red; 23 box-shadow: 0px 0px 1px 0 #666; 24 } 25 .f1{ 26 width: 18px; 27 height: 18px; 28 -webkit-transform: rotate(45deg); 29 -moz-transform: rotate(45deg); 30 -ms-transform: rotate(45deg); 31 -o-transform: rotate(45deg); 32 transform: rotate(45deg); 33 top:0; 34 border-radius: 2px; 35 } 36 .l1,.l2,.l3,.l4{ 37 width:2px; 38 height: 10px; 39 } 40 .c1{ 41 width:14px; 42 height: 14px; 43 border-radius: 7px; 44 box-shadow: 0px 0px 1px 0 #666; 45 z-index: 10; 46 } 47 .c1-1 { 48 position: relative; 49 width: 40px; 50 height: 12px; 51 } 52 .c1-1:before, 53 .c1-1:after { 54 box-shadow: 0px 0px 1px 0 #666; 55 content: ""; 56 position: absolute; 57 top: 0; 58 left: 0; 59 width: 8px; 60 height: 14px; 61 border: 2px solid red; 62 border-radius:50% 50% 50% 50% / 30% 30% 70% 70%; 63 -webkit-transform: rotate(-90deg); 64 -moz-transform: rotate(-90deg); 65 -ms-transform: rotate(-90deg); 66 -o-transform: rotate(-90deg); 67 transform: rotate(-90deg); 68 } 69 70 .c1-1:after { 71 left: auto; 72 right: 0; 73 border-radius:50% 50% 50% 50% / 70% 70% 30% 30%; 74 -webkit-transform: rotate(-90deg); 75 -moz-transform: rotate(-90deg); 76 -ms-transform: rotate(-90deg); 77 -o-transform: rotate(-90deg); 78 transform: rotate(-90deg); 79 } 80 .r{ 81 width:80px; 82 height: 80px; 83 z-index: 10; 84 -webkit-transform: rotate(45deg); 85 -moz-transform: rotate(45deg); 86 -ms-transform: rotate(45deg); 87 -o-transform: rotate(45deg); 88 transform: rotate(45deg); 89 } 90 .r .ro{ 91 position: relative; 92 display: table; 93 border-collapse:separate; 94 border-spacing: 1px; 95 } 96 .r .b{ 97 width:15px; 98 height: 14px; 99 position: relative; 100 display: table-cell; 101 border-radius: 2px; 102 } 103 .c2{ 104 width:10px; 105 height: 10px; 106 border-radius: 5px; 107 } 108 .c3{ 109 width:10px; 110 height: 10px; 111 border-radius: 5px 5px 0 0; 112 } 113 .c4{ 114 width:14px; 115 height: 14px; 116 border-radius: 8px; 117 z-index: 10; 118 } 119 .k{ 120 width: 10px; 121 height: 12px; 122 } 123 .k1{ 124 width: 14px; 125 height: 6px; 126 } 127 .s{ 128 height: 150px; 129 display: table; 130 border-collapse:separate; 131 border-spacing: 1px; 132 } 133 .ss{ 134 width: 1px; 135 height: 100%; 136 position: relative !important; 137 display: table-cell; 138 } 139 .i1 { 140 position: relative; 141 width: 162px; 142 height: 46px; 143 } 144 145 .i1:before, 146 .i1:after { 147 box-shadow: 0px 0px 1px 0 #666; 148 content: ""; 149 position: absolute; 150 top: 0; 151 left: 0; 152 width: 30px; 153 height: 40px; 154 border: 3px solid red; 155 border-radius:50% 50% 50% 50% / 30% 30% 70% 70%; 156 -webkit-transform: rotate(-90deg); 157 -moz-transform: rotate(-90deg); 158 -ms-transform: rotate(-90deg); 159 -o-transform: rotate(-90deg); 160 transform: rotate(-90deg); 161 } 162 163 .i1:after,.i2:after { 164 left: auto; 165 right: 0; 166 border-radius:50% 50% 50% 50% / 70% 70% 30% 30%; 167 -webkit-transform: rotate(-90deg); 168 -moz-transform: rotate(-90deg); 169 -ms-transform: rotate(-90deg); 170 -o-transform: rotate(-90deg); 171 transform: rotate(-90deg); 172 } 173 .i2 { 174 position: relative; 175 width: 136px; 176 height: 24px; 177 } 178 .i2:before, 179 .i2:after { 180 box-shadow: 0px 0px 1px 0 #666; 181 content: ""; 182 position: absolute; 183 top: 0; 184 left: 0; 185 width: 12px; 186 height: 20px; 187 border: 2px solid red; 188 border-radius:50% 50% 50% 50% / 30% 30% 70% 70%; 189 -webkit-transform: rotate(-90deg); 190 -moz-transform: rotate(-90deg); 191 -ms-transform: rotate(-90deg); 192 -o-transform: rotate(-90deg); 193 transform: rotate(-90deg); 194 } 195 196 .i2:after { 197 left: auto; 198 right: 0; 199 border-radius:50% 50% 50% 50% / 70% 70% 30% 30%; 200 -webkit-transform: rotate(-90deg); 201 -moz-transform: rotate(-90deg); 202 -ms-transform: rotate(-90deg); 203 -o-transform: rotate(-90deg); 204 transform: rotate(-90deg); 205 } 206 .e1 { 207 position: relative; 208 width: 12px; 209 height: 24px; 210 } 211 .e1:before, 212 .e1:after { 213 box-shadow: 0px 0px 1px 0 #666; 214 content: ""; 215 position: absolute; 216 top: 0; 217 left: 0; 218 width: 12px; 219 height: 20px; 220 border: 2px solid red; 221 border-radius:50% 50% 50% 50% / 30% 30% 70% 70%; 222 -webkit-transform: rotate(-90deg); 223 -moz-transform: rotate(-90deg); 224 -ms-transform: rotate(-90deg); 225 -o-transform: rotate(-90deg); 226 transform: rotate(-90deg); 227 } 228 .m{ 229 width:80px; 230 height: 80px; 231 -webkit-transform: rotate(45deg); 232 -moz-transform: rotate(45deg); 233 -ms-transform: rotate(45deg); 234 -o-transform: rotate(45deg); 235 transform: rotate(45deg); 236 237 } 238 .n{ 239 width:80px; 240 height: 80px; 241 -webkit-transform: rotate(-45deg); 242 -moz-transform: rotate(-45deg); 243 -ms-transform: rotate(-45deg); 244 -o-transform: rotate(-45deg); 245 transform: rotate(-45deg); 246 247 } 248 .m .rx,.n .rx{ 249 position: relative; 250 display: table; 251 border-collapse:separate; 252 border-spacing: 1px; 253 } 254 .m .rb , .m .rb-space,.n .rb , .n .rb-space{ 255 position: relative; 256 width: 120px; 257 height: 14px; 258 display: table-cell; 259 } 260 261 .m .rb:before, 262 .m .rb:after,.n .rb:before, 263 .n .rb:after { 264 box-shadow: 0px 0px 1px 0 #666; 265 content: ""; 266 position: absolute; 267 top: 0; 268 left: -8px; 269 width: 6px; 270 height: 10px; 271 border: 2px solid red; 272 border-radius:50% 50% 50% 50% / 40% 40% 60% 60%; 273 -webkit-transform: rotate(-90deg); 274 -moz-transform: rotate(-90deg); 275 -ms-transform: rotate(-90deg); 276 -o-transform: rotate(-90deg); 277 transform: rotate(-90deg); 278 } 279 280 .m .rb:after,.n .rb:after{ 281 left: auto; 282 right: -8px; 283 border-radius:50% 50% 50% 50% / 60% 60% 60% 60%; 284 -webkit-transform: rotate(-90deg); 285 -moz-transform: rotate(-90deg); 286 -ms-transform: rotate(-90deg); 287 -o-transform: rotate(-90deg); 288 transform: rotate(-90deg); 289 } 290 </style> 291 <script type="text/javascript" src='../bower_components/jquery/dist/jquery.js'></script> 292 <script type="text/javascript"> 293 $(document).ready(function(){ 294 var $z = $('.z'), $f1 = $('.f1') , $l1 = $('.l1') , $c1 = $('.c1') , $l2 = $('.l2') , $r = $('.r') , $l3 = $('.l3') , $c2 = $('.c2') , $l4 = $('.l4') , $c3 = $('.c3') , $c4 = $('.c4'), 295 $k = $('.k') , $k1 = $('.k1') , $s = $('.s') , $i1 = $('.i1') , $i2 = $('.i2'), 296 $e1 = $('.e1') , $c1_1 = $('.c1-1'), 297 $m = $('.m') , $n = $('.n'); 298 $f1.css({ 299 left : ($z.width() - $f1.width()) / 2 , 300 top : Math.sqrt(2 * Math.pow($f1.height() / 2 , 2)) - $f1.height() / 2 301 }); 302 $l1.css({ 303 left : ($z.width() - $l1.width()) / 2, 304 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) 305 }); 306 $c1.css({ 307 left : ($z.width() - $c1.width()) / 2, 308 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() 309 }); 310 $l2.css({ 311 left : ($z.width() - $l2.width()) / 2, 312 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() 313 }); 314 $r.css({ 315 left : ($z.width() - $r.width()) / 2, 316 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() / 2 , 2)) - $r.height() / 2 317 }); 318 $l3.css({ 319 left : ($z.width() - $l3.width()) / 2, 320 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) 321 }); 322 $c2.css({ 323 left : ($z.width() - $c2.width()) / 2, 324 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() 325 }); 326 $l4.css({ 327 left : ($z.width() - $l4.width()) / 2, 328 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() 329 }); 330 $c3.css({ 331 left : ($z.width() - $c3.width()) / 2, 332 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() + $l4.height() 333 }); 334 $c4.css({ 335 left : ($z.width() - $c4.width()) / 2, 336 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() + $l4.height() + $c3.height() - 4 337 }); 338 $k.css({ 339 left : ($z.width() - $k.width()) / 2, 340 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() + $l4.height() + $c3.height() - 4 + $c4.height() - 4 341 }); 342 $k1.css({ 343 left : ($z.width() - $k1.width()) / 2, 344 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() + $l4.height() + $c3.height() - 4 + $c4.height() - 4 + $k.height() 345 }); 346 $s.css({ 347 left : ($z.width() - $k1.width()) / 2, 348 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) + $l3.height() + $c2.height() + $l4.height() + $c3.height() - 4 + $c4.height() - 4 + $k.height() + $k1.height() 349 }); 350 351 $i1.css({ 352 left : ($z.width() - $i1.width()) / 2, 353 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) / 2 - $i1.height() / 2 354 }); 355 $i2.css({ 356 left : ($z.width() - $i2.width()) / 2, 357 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($r.height() , 2)) / 2 - $i2.height() / 2 358 }); 359 $c1_1.css({ 360 left : ($z.width() - $c1_1.width()) / 2, 361 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + ($c1_1.height() - $c1.height()) / 2 362 }); 363 $m.css({ 364 left : ($z.width() - $m.width()) / 2, 365 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($m.height() / 2 , 2)) - $m.height() / 2 366 }); 367 $n.css({ 368 left : ($z.width() - $n.width()) / 2, 369 top : Math.sqrt(2 * Math.pow($f1.height() , 2)) + $l1.height() + $c1.height() + $l2.height() + Math.sqrt(2 * Math.pow($n.height() / 2 , 2)) - $n.height() / 2 370 }); 371 }); 372 </script> 373 </head> 374 <body> 375 <div class='z'> 376 <div class='f1 red'></div> 377 <div class='l1 red'></div> 378 <div class='c1 red'></div> 379 <div class='c1-1'></div> 380 <div class='l2 red'></div> 381 <div class='r'> 382 <div class='ro'> 383 <div class='b red'></div> 384 <div class='b red'></div> 385 <div class='b red'></div> 386 <div class='b red'></div> 387 <div class='b red'></div> 388 </div> 389 <div class='ro'> 390 <div class='b red'></div> 391 <div class='b red'></div> 392 <div class='b red'></div> 393 <div class='b red'></div> 394 <div class='b red'></div> 395 </div> 396 <div class='ro'> 397 <div class='b red'></div> 398 <div class='b red'></div> 399 <div class='b red'></div> 400 <div class='b red'></div> 401 <div class='b red'></div> 402 </div> 403 <div class='ro'> 404 <div class='b red'></div> 405 <div class='b red'></div> 406 <div class='b red'></div> 407 <div class='b red'></div> 408 <div class='b red'></div> 409 </div> 410 <div class='ro'> 411 <div class='b red'></div> 412 <div class='b red'></div> 413 <div class='b red'></div> 414 <div class='b red'></div> 415 <div class='b red'></div> 416 </div> 417 </div> 418 <div class='l3 red'></div> 419 <div class='c2 red'></div> 420 <div class='l4 red'></div> 421 <div class='c3 red'></div> 422 <div class='c4 red'></div> 423 <div class='k red'></div> 424 <div class='k1 red'></div> 425 <div class='s'> 426 <div class='ss red'></div> 427 <div class='ss red'></div> 428 <div class='ss red'></div> 429 <div class='ss red'></div> 430 <div class='ss red'></div> 431 <div class='ss red'></div> 432 <div class='ss red'></div> 433 </div> 434 <div class='i1'></div> 435 <div class='i2'></div> 436 <div class='m'> 437 <div class='rx'> 438 <div class='rb-space'></div> 439 </div> 440 <div class='rx'> 441 <div class='rb'></div> 442 </div> 443 <div class='rx'> 444 <div class='rb'></div> 445 </div> 446 <div class='rx'> 447 <div class='rb'></div> 448 </div> 449 <div class='rx'> 450 <div class='rb-space'></div> 451 </div> 452 </div> 453 <div class='n'> 454 <div class='rx'> 455 <div class='rb-space'></div> 456 </div> 457 <div class='rx'> 458 <div class='rb'></div> 459 </div> 460 <div class='rx'> 461 <div class='rb'></div> 462 </div> 463 <div class='rx'> 464 <div class='rb'></div> 465 </div> 466 <div class='rx'> 467 <div class='rb-space'></div> 468 </div> 469 </div> 470 </div> 471 </body> 472 </html>
转载于:https://www.cnblogs.com/tatame/p/4712261.html