resize 按钮不会被伪元素遮盖

本文介绍了CSS中resize属性的应用,特别是其在textarea之外的元素上的使用技巧。文章通过实例展示了如何利用伪元素保持resize功能的同时自定义样式,并对比了使用普通元素时resize功能的变化。

textarea默认有个resize样式,效果就是下面这样

1065633-20180506162443077-1881606301.png

读 《css 揭秘》时发现两个亮点:

  • 其实这个属性不仅适用于 textarea 元素,适用于下面所有元素:

elements with overflow other than visible, and optionally replaced elements representing images or videos, and iframes

  • 你可以通过伪元素来覆盖原有的样式,而且不会影响原有的resize功能,但是其他元素不行。

这一点,可能不太好理解,举个例子,我们用一个span来覆盖右下角的按钮

<div>
  div
  <span>
    span
  </span>
</div>
div {
  width:100px;
  height:100px;
  background-color:pink;
  resize:horizontal;
  overflow:hidden;
  position:relative;
}
span {
  content:'';
  display:block;
  width:20px;
  height:20px;
  background-color:yellowgreen;
  position:absolute;
  right:0;
  bottom:0;
}

效果是这样,resize功能失效了:

1065633-20180506164225177-889000327.gif

但是,如果把 span换成伪元素,就是可以的:

<div>
  div
  <span>
    span
  </span>
</div>
div {
  width:100px;
  height:100px;
  background-color:pink;
  resize:horizontal;
  overflow:hidden;
  position:relative;
}
div::after {
  content:'';
  display:block;
  width:20px;
  height:20px;
  background-color:yellowgreen;
  position:absolute;
  right:0;
  bottom:0;
}

resize功能还是在的:

1065633-20180506164038249-1513510838.gif

这就非常神奇了。

转载于:https://www.cnblogs.com/xianshenglu/p/8998662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值