Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Responsive triangle with css issue

I am making responsive triangle(down arrow) with css. My problem is that I want to increase my triangle height downward But when I increase padding bottom it disturbs the triangle shape.

Here is my code :

.btna {
  position: relative;
  display: inline-block;
  height: 50px;
  width: 25%;
  text-align: center;
  color: white;
  line-height: 50px;
  text-decoration: none;
  padding-bottom: 15%;
  background-clip: content-box;
  overflow: hidden;
}
.btna div {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  background: -webkit-linear-gradient(#d5adee, #fff);  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(#d5adee, #fff);  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(#d5adee, #fff);  /* For Firefox 3.6 to 15 */
  background: linear-gradient(#d5adee, #fff);  /* Standard syntax */
  padding-bottom: 50%;
  width: 57.7%;
  z-index: -1;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotate(-30deg) skewX(30deg);
  -ms-transform: rotate(-30deg) skewX(30deg);
  transform: rotate(-30deg) skewX(30deg);
}
<div class="btna">
  <div></div>
</div>
like image 327
sleekdev Avatar asked Apr 23 '26 01:04

sleekdev


1 Answers

I presume that you want to keep the triangle within the bounds of its .btna class, correct?

The following code retains a triangle while also making it so that it has more height and stays responsive.

Replace transform: rotate(-30deg) skewX(30deg); with

transform: rotate(-45deg) scale(1.4);

Skew can be very useful for making any triangle into a right triangle, but because we're all ready starting with one (the square with its overflow cut off), then it's not very helpful.

like image 185
Emma Ramirez Avatar answered Apr 25 '26 15:04

Emma Ramirez



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!