当前位置: 首页 > 面试题库 >

带有百分比宽度的自适应CSS三角形

金阳曜
2023-03-14
问题内容

下面的代码将在<a>元素下方创建一个箭头:

.btn {

    position: relative;

    display: inline-block;

    width: 100px;

    height: 50px;

    text-align: center;

    color: white;

    background: gray;

    line-height: 50px;

    text-decoration: none;

}

.btn:after {

    content: "";

    position: absolute;

    bottom: -10px;

    left: 0;

    width: 0;

    height: 0;

    border-width: 10px 50px 0 50px;

    border-style: solid;

    border-color: gray transparent transparent transparent;

}


<a href="#" class="btn">Hello!</a>

问题在于,我们必须指示链接宽度才能获得适当大小的箭头,因为我们无法以像素为单位指示边框宽度。

如何使响应三角形百分比为基础?


问题答案:

您可以使用倾斜和旋转的伪元素在链接下创建一个 响应三角形

三角形通过padding-bottom属性保持其长宽比。

如果您希望形状根据其内容来适应其大小,则可以删除.btn类的宽度

.btn {

  position: relative;

  display: inline-block;

  height: 50px; width: 50%;

  text-align: center;

  color: white;

  background: gray;

  line-height: 50px;

  text-decoration: none;

  padding-bottom: 15%;

  background-clip: content-box;

  overflow: hidden;

}

.btn:after {

  content: "";

  position: absolute;

  top:50px;  left: 0;

  background-color: inherit;

  padding-bottom: 50%;

  width: 57.7%;

  z-index: -1;

  transform-origin: 0 0;

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

}

/** FOR THE DEMO **/



body {

  background: url('http://i.imgur.com/qi5FGET.jpg');

  background-size: cover;

}


<a href="#" class="btn">Hello!</a>


 类似资料:
  • Fixed 盒子数量不是固定的 Fixed 盒子宽度是固定的 Fill 盒子只有一个 Fill 盒子宽度是动态的 如何让 Fill 填满剩余 Container 的宽度? 如下图

  • 我希望 --rotate-angle的值是随百分比进度增加; 除了0%{}..1%..2%...100%{} 这样,能简写吗?

  • 我想要一个,它的行为如下: 第一点。很容易,但我找不到第二点的方法。和3,因此任何帮助都将受到感谢。下面是我编写的示例代码:

  • 问题内容: 如何在显示百分比的进度条中间放置标签?问题是python不支持标签背景的透明性,所以我不知道该如何解决。 问题答案: 使用可以做到这一点。这个想法是修改样式的布局(对垂直进度条做同样的事情),在样式条中添加一个标签: 通常的布局: 带有附加标签: 然后,可以使用来更改标签的文本。 这是代码:

  • 我想使用FXML在JavaFX中创建一个包含3列的GridPane。中柱上有一个大标签。中间列采用标签的宽度。左栏和右栏各占表单剩余宽度的一半(50%)。我尝试将百分之五十的宽度设置为左栏和右栏。但是,宽度设置为整个形状的50%,而不是剩余宽度。例如,表单的宽度为1000px。中柱可能需要400px,而左柱和右柱各自需要300px。即使窗体在运行时调整大小,此公式也应保持不变。

  • 问题内容: 我试图在CSS 中将a设置为一定的百分比高度,但它的大小与其中的内容相同。但是,当我删除HTML 5 时,它可以工作,并按需要占用整个页面。我希望页面进行验证,那我该怎么办? 我在上有此CSS ,其ID为: 问题答案: 我正在尝试在CSS中将div设置为某个百分比高度 百分比是多少? 要设置百分比高度,其父元素(*)必须具有明确的高度。这是不言而喻的,如果您将height保留为,则该块