Как сверстать такой макет?

352
02 октября 2017, 00:53

Не могу разобрать как сверстать такой макет? Главная проблема это треугольники вверху и с боку, может кто верстал? Спасибо.

Answer 1

Вариант с тенью у "стрелок":

.block { 
  position: relative; 
  border-radius: 5px; 
  width: 300px; 
  height: 150px; 
  box-shadow: 0px 2px 10px rgba(0, 0, 0, .4); 
  margin: 40px auto; 
} 
 
.block:before, 
.block:after { 
  position: absolute; 
  content: ''; 
  display: block; 
  width: 16px; 
  height: 16px; 
  transform-origin: 100%; 
  transform: rotate(45deg); 
} 
 
.block:before { 
  z-index: -1; 
  box-shadow: 0px 0px 10px rgba(0, 0, 0, .3); 
} 
 
.block:after { 
  z-index: 1; 
} 
 
.block-1, 
.block-1:before, 
.block-1:after { 
  background: #fff; 
} 
 
.block-1:before, 
.block-1:after { 
  left: 30px; 
  top: -2px; 
} 
 
.block-2, 
.block-2:before, 
.block-2:after { 
  background: #333; 
} 
 
.block-2:before, 
.block-2:after { 
  right: -5px; 
  top: 30px; 
}
<div class="block block-1"></div> 
<div class="block block-2"></div>

Answer 2

Обычно стрелочки рисуют через добавление блока со срезанными (за счет прозрачного border) углами

<style>
    .block {
        background: #a0a0a0;
        padding: 20px;
        position: relative;
        color: #fff;
    }
    .block::after {
        content: '';
        position: absolute;
        left: 20px; bottom: -20px; /* Положение стрелочки  */
        border: 10px solid transparent;
        border-top: 10px solid #a0a0a0; /* Направление стрелочки */
    }
</style>
<div class="block">
    Ваш блок с Username
</div>
Answer 3

Размер after и before разумеется можно менять

*{ 
  margin:0; 
  padding:0; 
} 
.box{ 
  width:300px; 
  height:200px; 
  border:1px solid #ccc; 
  border-right:none; 
  margin:100px; 
  position:relative; 
  background:#fff; 
} 
.box:after{ 
  content:""; 
  display:block; 
  width:40px; 
  height:40px; 
  border:1px solid #ccc; 
  background:#fff; 
  border-left:0; 
  border-bottom:0; 
  position:absolute; 
  left:93%; top:10%; 
  transform:rotate(45deg); 
  z-index:10; 
} 
.box:before{ 
  content:""; 
  display:block; 
  width:0; 
  height:200px; 
  border:1px solid #ccc; 
  position:absolute; 
  right:0; 
}
<div class="box"></div>

READ ALSO
Загрузка файла с определенным именем

Загрузка файла с определенным именем

Мне надо сделать так, чтобы человек мог загружать файл изображения и он загружался на сервер с именем его никнейма под которым он авторизован...

218
база с unicode символами

база с unicode символами

Экспортирую и в дальнейшем импортирую MySQL БД с помощью phpmyadmin, выходит так что все unicode emoji теряют свои свойства и превращаются в знаки "?"Как...

306
Дубликаты в автоинкрементальном поле

Дубликаты в автоинкрементальном поле

Задача не совсем обычнаяСкажу сразу, это временное решение

277
Yii CDbCommand запрос большого количества данных и memory

Yii CDbCommand запрос большого количества данных и memory

Необходимо выгрести большое кол-во данных из базы данных и положить в Excel так, чтобы по пути не закончилась память

229