html - 在div的 Angular 上绘制三 Angular 形

标签 html css

我想在 div 的 Angular 上绘制某种三 Angular 形。因为我不想使用“px”,所以我想用百分比值也能获得相同的结果。

它应该是这样的:

img

.container {
  position: absolute; 
  top: 5%; 
  left: 5%; 
  width: 60%; 
  height: 30%; 
  background: black; 
  color: white;
  border-radius: 12px;
  overflow: hidden;
}

.triangle {
  position: relative;
  top: 10%;
  left: 90%;
  width: 10%;
  height: 10%;
  -webkit-transform: rotate(45deg);
  background: green;
}
<div class="container">
  <div class="triangle"></div>
</div>

任何帮助将不胜感激。提前致谢!!

最佳答案

您可以在三 Angular 形元素上使用 position: absolute 并将 topright 属性设置为 0。

.container {
  position: absolute;
  top: 5%;
  left: 5%;
  width: 60%;
  height: 30%;
  background: black;
  color: white;
  border-radius: 12px;
  overflow: hidden;
}

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 30px 30px 0;
  border-color: transparent #608A32 transparent transparent;
  right: 0;
  top: 0;
  position: absolute;
}
<div class="container">
  <div class="triangle"></div>
</div>

您也可以只使用 伪元素 和三 Angular 形的 绝对 位置。

.container {
  position: relative;
  width: 300px;
  height: 70px;
  background: black;
  border-radius: 12px;
  overflow: hidden;
}

.container:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 30px 30px 0;
  border-color: transparent #608A32 transparent transparent;
  right: 0;
  top: 0;
  position: absolute;
}
<div class="container"></div>

下面是另一个在所有 Angular 落都有三 Angular 形的例子。

.all_triangles_container {
  position: relative;
  width: 300px;
  height: 70px;
  background: black;
  overflow: hidden;
}

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
}

.triangle_tl {
  border-width: 0 0 30px 30px;
  border-color: transparent transparent transparent green;
  left: 0;
  top: 0;
}

.triangle_tr {
  border-width: 0 30px 30px 0;
  border-color: transparent red transparent transparent;
  right: 0;
  top: 0;
}

.triangle_br {
  border-width: 30px 30px 0 0;
  border-color: transparent yellow transparent transparent;
  right: 0;
  bottom: 0;
}

.triangle_bl {
  border-width: 0 30px 30px 0px;
  border-color: transparent transparent purple transparent;
  left: 0;
  bottom: 0;
}
<div class="all_triangles_container">
  <div class="triangle triangle_tl"></div>
  <div class="triangle triangle_tr"></div>
  <div class="triangle triangle_br"></div>
  <div class="triangle triangle_bl"></div>
</div>

关于html - 在div的 Angular 上绘制三 Angular 形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48962231/

相关文章:

html - 如何仅使用 css 在 Div 中切换效果?

PHP - 查询和循环以显示不同的数据

reactjs - ElectronJS打印HTML文档的高度问题

android - 为什么我的按钮的不可见元素在我的响应式设计中移位了?

HTML 图像大小调整和缩放而不损失质量

html - 将 CSS 应用于 TD 中的数据,但不应用于 TD。需要在每个 TD 中提高文本基线。 Maby 文本属性选择器

php - 从 53 个表返回 mysql 数据库的 p_id 和 t_id 记录?

javascript - 使用@keyframes 以不透明度淡出时,如何使用事件重复动画?

javascript - 如何使用javascript重新启用悬停滤镜效果

javascript - CSS 旋转变换不停留在新位置