Как сверстать шестиугольник?

140
15 марта 2019, 19:20

НАДО сверстать оранжевую фигуру, белую фигуру делать не надо, только оранжевую фигуру подскажите, как сделать?

Answer 1

Так пойдёт? Я заливаю серебряным и белым углы, а оставшийся центр делаю оранжевым.

header, footer { 
  height: 5em; 
} 
 
header { 
  background: silver; 
} 
 
div { 
  width: 10em; 
  margin: auto; 
  position: absolute; 
  left: 0; 
  right: 0; 
  transform: translateY(-50%); 
   
  --d: 16.5%; /* не знаю, как посчитать, подогнал */ 
  background: 
    linear-gradient(120deg, silver var(--d), transparent var(--d), transparent calc(100% - var(--d)), white calc(100% - var(--d))), 
    linear-gradient(2400deg, silver var(--d), transparent var(--d), transparent calc(100% - var(--d)), white calc(100% - var(--d))), 
    orange; 
 
  /* избавляемся от артефактов сверху и снузу */ 
  border: 1px solid transparent; 
  background-clip: content-box; 
} 
 
div:before { 
  content: ""; 
  display: block; 
  padding-top: 86.6%; /* sqrt(3)/2 */ 
}
<header>header</header> 
<div></div> 
<footer>footer</footer>

Answer 2

По размерам сами можете под себя отредактировать.

function draw(){ 
  let canvas = document.getElementById('canvas'); 
  let ctx = canvas.getContext('2d'); 
  ctx.beginPath(); 
  ctx.moveTo(100,0); 
  ctx.lineTo(300,0); 
  ctx.lineTo(400,200); 
  ctx.lineTo(300,400); 
  ctx.lineTo(100,400); 
  ctx.lineTo(0,200); 
  ctx.fillStyle = 'orange'; 
  ctx.fill(); 
} 
draw();
<canvas id="canvas" width="400" height="400"></canvas>

READ ALSO
Как получить имя метки при клике по ней?

Как получить имя метки при клике по ней?

Встраиваю яндекс-карту в 1СНа ЯК вывел пронумерованные точки(примерно так выглядит всё это:

152
Как в webpack пропустить либу через babel

Как в webpack пропустить либу через babel

На проекте используется CanJs 515, проблема в IE ругается на использование for of в одном из модулей

122
Регулярка: дефис, латиница и цифры?

Регулярка: дефис, латиница и цифры?

как к регулярке добавить возможность еще и дефиса?

147