当前位置:首页 > React

react如何获取css得值

2026-03-11 08:33:10React

获取 CSS 值的常用方法

使用 window.getComputedStyle 通过 window.getComputedStyle 可以获取元素最终计算的样式值(包括内联样式和外部样式表)。以下是一个示例代码:

const element = document.getElementById('target-element');
const computedStyle = window.getComputedStyle(element);
const width = computedStyle.getPropertyValue('width');
console.log(width); // 输出元素的宽度值

通过 style 属性获取内联样式 如果样式是直接以内联方式(通过 style 属性)设置的,可以通过元素的 style 属性直接访问:

react如何获取css得值

const element = document.getElementById('target-element');
const inlineColor = element.style.color; // 仅获取内联样式
console.log(inlineColor);

使用 refcurrentStyle(旧版 IE 兼容) 对于旧版 IE 浏览器,可以使用 currentStyle 替代 getComputedStyle

react如何获取css得值

const element = document.getElementById('target-element');
const style = element.currentStyle || window.getComputedStyle(element);
const fontSize = style.fontSize;
console.log(fontSize);

在 React 中结合 useRef 获取样式

通过 useRef 获取 DOM 节点后,再调用 getComputedStyle

import React, { useRef, useEffect } from 'react';

function Component() {
  const ref = useRef(null);

  useEffect(() => {
    if (ref.current) {
      const style = window.getComputedStyle(ref.current);
      const height = style.getPropertyValue('height');
      console.log(height);
    }
  }, []);

  return <div ref={ref}>目标元素</div>;
}

通过 CSS 变量动态获取值

如果样式通过 CSS 变量(Custom Properties)定义,可以通过 getPropertyValue 获取:

const element = document.getElementById('target-element');
const computedStyle = window.getComputedStyle(element);
const primaryColor = computedStyle.getPropertyValue('--primary-color');
console.log(primaryColor); // 输出 CSS 变量值

注意事项

  • getComputedStyle 返回的值是只读的,无法直接修改。
  • 内联样式(element.style)仅能获取通过 style 属性直接设置的样式,无法获取外部样式表中的值。
  • 返回的值可能带有单位(如 px%),需根据实际需求处理。

标签: reactcss
分享给朋友:

相关文章

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

怎么制作风水罗盘css

怎么制作风水罗盘css

制作风水罗盘CSS 使用CSS创建一个风水罗盘(八卦罗盘)需要结合HTML和CSS技术,通过层叠样式表绘制罗盘的各个部分。以下是实现方法: 基本结构 创建HTML结构,包含罗盘的外圆、内圆、八卦符号…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…