Как я могу создать этот значок только с линейными градиентами?
Я пробовал до сих пор:
.a {
height: 45px;
width: 45px;
background: linear-gradient(to top, #444 0px, #444 15px, transparent 15px, transparent 45px) 0px 30px/15px 15px no-repeat,
linear-gradient(to top, #444 0px, #444 30px, transparent 30px, transparent 45px) 15px 15px/15px 30px no-repeat,
linear-gradient(to top, #444 0px, #444 45px) 30px 0px/45px 45px no-repeat;
}<div class = "a"></div>Но это не отображается должным образом в хроме. Как вы видете:
Но когда я увеличил масштаб, он отображается правильно. Зачем?






Используйте перекрывающийся градиент, чтобы избежать этой проблемы, и лучше рассмотрите процентное значение, чтобы сделать его отзывчивым:
.a {
height: 45px;
width: 45px;
background:
linear-gradient(#444,#444) right bottom / calc(1*100%/3) calc(3*100%/3),
linear-gradient(#444,#444) right bottom / calc(2*100%/3) calc(2*100%/3),
linear-gradient(#444,#444) right bottom / calc(3*100%/3) calc(1*100%/3);
background-repeat:no-repeat;
}<div class = "a"></div>
<div class = "a" style = "width:90px;height:90px;"></div>Другой синтаксис:
.a {
height: 45px;
width: 45px;
background-image:
linear-gradient(#444,#444),
linear-gradient(#444,#444),
linear-gradient(#444,#444);
background-size:
calc(1*100%/3) calc(3*100%/3),
calc(2*100%/3) calc(2*100%/3),
calc(3*100%/3) calc(1*100%/3);
background-position:right bottom;
background-repeat:no-repeat;
}<div class = "a"></div>Еще одна идея с фоном и рамкой:
.a {
--s:15px;
width: var(--s);
height: var(--s);
border-right: var(--s) solid #444;
border-bottom: var(--s) solid #444;
padding: var(--s) 0 0 var(--s);
background: #444 content-box;
}<div class = "a"></div>
<div class = "a" style = "--s:30px;"></div>
Здесь он отображается нормально (Windows 10 — Chrome 75.0.3770.100 (64 бита)), вы изначально пытались сделать снимок экрана со 100% увеличением?