HTML-треугольник шириной 100%

Я хочу создать размытый треугольник на каждом выбранном эскизе в сетке.

Сейчас я делаю это так (треугольник и его контейнер div):

:host ::ng-deep {

    .blurred-triangle {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 400px 200px 0;
          border-color: transparent rgba(250, 248, 255, 0.2) transparent transparent;
        }

    .dashboard-image-selected__container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

Моя проблема - это ширина треугольника. Если изображение слишком велико, треугольник не заполняет ширину.

Как я могу использовать что-то вроде ширины 100% для этой формы треугольника, чтобы она полностью заполняла ширину своего родителя?

Вы можете попробовать подогнать изображение под объект. w3schools.com/css/css3_object-fit.asp

Alf Moh 14.08.2018 09:56

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

An-droid 14.08.2018 10:04

Можете ли вы также поделиться своим html и ожидаемым результатом

Temani Afif 14.08.2018 10:33
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
134
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать vw, чтобы сделать треугольник CSS отзывчивым. Он установит ширину треугольника в зависимости от ширины экрана.

Может быть лучше использовать что-то вроде calc (30vw + 100px) и calc (15vw + 50px), если вам нужно установить минимальную ширину по какой-либо причине. Однако это сделает треугольник больше, чем контейнер, поэтому в этом случае вам нужно будет использовать overflow: hidden.

.blurred-triangle {
  position: relative;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 30vw 15vw 0;
  border-color: transparent rgba(250, 248, 255, 0.32) transparent transparent;
}

.dashboard-image-selected__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  overflow: hidden;
  background-color: red;
}
<div class = "dashboard-image-selected__container">
  <div class = "blurred-triangle"></div>
</div>

Вы имеете в виду что-то вроде следующего:

img {
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

img:hover {
  opacity: .8
}
<img src = "//cdn.pixabay.com/photo/2018/07/20/22/43/adler-3551609_960_720.jpg">

Ах, клип-путь. Я использовал это некоторое время назад, когда он только выходил. Насколько хорошо это поддерживается в наши дни?

OrderAndChaos 14.08.2018 10:21

@Sarcoma согласно caniuse.com/#feat=css-clip-path не очень хороша, если вы хотите поддерживать IE / edge, то есть.

SuperDJ 14.08.2018 10:23

Хорошее решение, просто имейте в виду, что оно еще не поддерживается в Edge и IE 11: caniuse.com/#search=clip

OrderAndChaos 14.08.2018 10:23

Интересное решение. но поддержка IE важна в моем случае. Также здесь можно настроить непрозрачность? В моем случае форма должна только создавать эффект стекла, а не полностью скрывать изображение.

An-droid 14.08.2018 10:32

@ An-droid проверьте обновление, чтобы убедиться, что можно добавить непрозрачность.

SuperDJ 14.08.2018 10:35

Другие вопросы по теме