#html #css
#HTML #css — код
Вопрос:
Я создаю несколько иллюстраций CSS, и я хочу создать треугольную форму. Но вы увидите, что прозрачная граница на самом деле не является прозрачной. Он имеет тот же цвет, что и цвет фона <div>
.
.triangle {
background-color: #ff3e30;
height: 0px;
width: 0px;
border-bottom: 100px solid #ff3e30;
border-left: 50px solid transparent; /* This is the culprit */
}
<div class="triangle"></div>
Но когда я использую другой цвет, это показывает, что созданная фигура должна быть треугольником, если граница прозрачная.
.triangle {
background-color: #ff3e30;
height: 0px;
width: 0px;
border-bottom: 100px solid #ff3e30;
border-left: 50px solid black; /* Changed to black */
}
<div class="triangle"></div>
Итак, как это исправить?
Ответ №1:
Мешал цвет фона.
.triangle {
//background-color: #ff3e30;
height: 0px;
width: 0px;
border-left: 50px solid transparent;
border-bottom: 100px solid #ff3e30;
}
<div class="triangle"></div>
Ответ №2:
по умолчанию фон покрывает пограничную область. Вы можете изменить это поведение с помощью background-clip
(или просто удалить его, как указано @Mahmood Kiaheyrati)
.triangle {
background-color: #ff3e30;
background-clip:padding-box;
height: 0px;
width: 0px;
border-bottom: 100px solid #ff3e30;
border-left: 50px solid transparent;
}
<div class="triangle"></div>
Комментарии:
1. Большое спасибо за упоминание
background-clip
свойства. Это действительно полезно, когда кто-то предоставляет несколько решений или альтернатив.
Ответ №3:
Надеюсь, у вас все хорошо.
Здесь, по этой ссылке, вы найдете некоторую треугольную форму. Вы можете попрактиковаться, чтобы лучше понять, как это работает.
https://css-tricks.com/the-shapes-of-css/
css для triangle-bottomleft
#triangle-bottomleft {
width: 0;
height: 0;
border-bottom: 100px solid red;
border-right: 100px solid transparent;
}
HTML
<div id="triangle-bottomleft"></div>
Комментарии:
1. Спасибо. Проблема была вызвана цветом фона.