首页 > 解决方案 > CSS box-shadow 属性 - 对各种属性的精细访问

问题描述

有没有办法访问 box-shadow 的单独属性..

例如

我想分别提取'blur'和'spread'的值,并根据这些值设置一些我拥有的滑块。

有没有办法从速记“box-shadow”属性中访问这些

例如

box-shadow-spread box-shadow-color,

等等。

我不想在节点上存储一堆属性,只是为了跟踪这些值和设置控件。

标签: jquerycssbox-shadow

解决方案


只需使用 ole pick_apart 函数

function pick_apart(img_id) {
    hold_res={}
    ss = $('#' + img_id).css('box-shadow')
    hold_res['color'] = ss.substring(ss.lastIndexOf("r"),ss.lastIndexOf(")")+1);
    hold_res['offset_x'] = ss.split(' ')[3]
    hold_res['offset_y'] = ss.split(' ')[4]
    hold_res['blur_radius'] = ss.split(' ')[5]
    hold_res['spread_radius'] = ss.split(' ')[6]
    return(hold_res)
    }

HTML

<img id='my_img' src='https://pbs.twimg.com/profile_images/988775660163252226/XpgonN0X_400x400.jpg'>

在此处输入图像描述

CSS

img {
  box-shadow: 10px 20px 30px 40px #555;
}

用法

pick_apart('my_img')

结果

{
    "color": "rgb(85, 85, 85)",
    "offset_x": "10px",
    "offset_y": "20px",
    "blur_radius": "30px",
    "spread_radius": "40px"
}

推荐阅读