html边框粗细设置,如何设置百分比的边框粗细?

边框不支持百分比...但仍有可能...

正如其他人指出的CSS规范,边框不支持百分比:

'border-top-width',

'border-right-width',

'border-bottom-width',

'border-left-width'

Value:          | inherit

Initial:        medium

Applies to:     all elements

Inherited:      no

Percentages:    N/A

Media:          visual

Computed value: absolute length; '0' if the border style is 'none' or 'hidden'

正如你可以看到它说百分比:N / A。

非脚本解决方案

您可以使用包装器元素模拟百分比边界,您可以在其中进行以下操作:

将包装器元素设置background-color为所需的边框颜色

设置包装元素的padding百分比(因为它们受支持)

将您的元素设置background-color为白色(或任何需要的颜色)

这将以某种方式模拟您的百分比边界。这是使用此技术的具有25%宽度侧边框的元素的示例。

示例中使用的HTML

.faux-borders {

background-color: #f00;

padding: 1px 25%; /* set padding to simulate border */

}

.content {

background-color: #fff;

}

This is the element to have percentage borders.

问题:您必须意识到,当您的元素具有某些复杂的背景时,这将变得更加复杂……尤其是如果该背景是从祖先DOM层次结构继承而来的。但是,如果您的用户界面足够简单,则可以采用这种方式。

脚本解决方案

@BoltClock提到了脚本解决方案,您可以在其中以编程方式根据元素大小计算边框宽度。

这是一个使用jQuery非常简单的脚本的示例。

var el = $(".content");

var w = el.width() / 4 | 0; // calculate & trim decimals

el.css("border-width", "1px " + w + "px");

.content { border: 1px solid #f00; }

This is the element to have percentage borders.

但是您必须知道,每次容器大小更改(即,浏览器窗口调整大小)时,都必须调整边框宽度。我使用wrapper元素的第一个解决方法似乎要简单得多,因为它会在这些情况下自动调整宽度。

脚本解决方案的积极方面是,它不会遇到我先前的非脚本解决方案中提到的背景问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值