!react에서 중요한 인라인 스타일
!important override를 사용하여 인라인 스타일을 추가하는 방법이 있습니다.
style={
height: 20+'!important'
};
<div style={style}></div>
이건 내가 기대했던 대로 되지 않는다.
리액트는 이 기능을 지원하지 않는 것 같습니다.하지만 내가 조사를 하면서 해킹을 당했어
<div ref={(node) => {
if (node) {
node.style.setProperty("float", "right", "important");
}
}}>
</div>
행운을 빈다:)
20+'!important'
이'20!important'
.
숫자만 지정하면 react에 의해 "px"가 추가됩니다.단, 문자열을 사용하고 있기 때문에 단위를 지정해야 합니다.또, 「!important」와 그 왼쪽에 있는 「!important」 사이에는 공백이 필요하게 됩니다.
style={{ height: '20px !important' }};
다른 CSS 속성에 대해 보다 깔끔하고 일관성 있는 방법을 사용하는 것이 좋습니다.
ref={(el) => el && el.style.setProperty(<property>, <value>, "important")}
이게 도움이 됐으면 좋겠네요!
이게 내가 리액트 16을 작동시킬 수 있는 유일한 방법이야.
const id="unique_id";
<React.Fragment>
<style>
{`
#${id} {
background-color: transparent !important;
}
`}
</style>
<Frame id={id} />
</React.Fragment>
스타일링된 컴포넌트를 사용하는 것이 좋습니다.!important
스타일 소품이 지원하지 않기 때문에!important
아마 앞으로는 안 그럴 거예요
다음으로 Semantic-UI를 덮어쓰는 예를 나타냅니다.padding
에grid columns
. 사실 이 부분은 빼도 됩니다.!important
'특정성 강화'로 충분하기 때문입니다.
const StyledColumn = styled.div(({size}) => ({className: `${size} wide column`})`
&&&&& {
padding-top: 0.3rem !important;
padding-bottom: 0.3rem !important;
}
`
<StyledColumn size="three"></StyledColumn>
이것은 원래 위의 Daniel에 의해 답변되었습니다.훅으로 작업하기 위해 그의 답변을 수정하기 위해 나의 답변을 공유하고 싶을 뿐이다.
- 참조의 정의
const ref = useRef(null);
- 원하는 노드에 참조 추가(예: div, table)
<div ref={ref}></div>
- 이 코드 추가
ref.current.style.setProperty(<property>, <value>, "important")
내부 useLayoutEffect
아래 샘플 코드를 참조하십시오.
import React, { useRef, useLayoutEffect } from "react";
const SampleComponent = () => {
const ref = useRef(null);
useLayoutEffect(() => {
ref.current.style.setProperty("border-top", "0px", "important");
}, []);
return (
<div ref={ref}>
{/* additional codes here */}
</div>
)
}
주의:
- 속성은 CSS 형식입니다(예: "border-top").
네, 이 방법을 알게 된 것은 위에서 이미 언급한 바와 같습니다.
const styles = (theme: any) => ({
panelSize: {
height: 480,
width: 360,
},
progress: {
height: '120px !important',
margin: theme.spacing.unit * 2,
width: '120px !important'
}
});
폭에 대해 위의 제안을 시도해 봤지만 효과가 없었습니다.
저는 style.css 파일을 만들고 width: 100%!를 클래스에 추가한 후 이 파일을 컴포넌트에 Import하여 이 클래스를 호출하면 동작합니다.
코드 단축을 위한 현대적 구문을 사용한 슬릿한 임시변통:
<div ref={(node) =>
node?.style.setProperty("float", "right", "important")
}>
</div>
className 소품 설정으로 해결했습니다.
.height {
height: 20px !important;
}
className={ styles.height }
다음과 같은 방법으로 해결할 수 있었습니다.
style={
height: `20px ${" !important"}`
};
<div style={style}></div>
프로그램을 실행할 때 브라우저가 해당 공간을 계속 삭제했기 때문에!important 앞에 공간을 추가해야 했습니다.
언급URL : https://stackoverflow.com/questions/23074748/important-inline-styles-in-react
'source' 카테고리의 다른 글
angularjs - ng-repeat : JSON 어레이 오브젝트로부터의 액세스키와 값 (0) | 2023.03.23 |
---|---|
node_modules/rxjs/internal/types.d.ts(81,44): Angular 6 설치 후 오류 TS1005: ';' 예상 오류 (0) | 2023.03.23 |
T-SQL에 대한 GeSHI 구문 강조 표시 개선 (0) | 2023.03.23 |
Angularjs는 상위 범위의 변화를 감시합니다. (0) | 2023.03.23 |
동적 python 개체를 json으로 변환 (0) | 2023.03.18 |