다양한 편집 가능한 qooxdoo 필드 (모든 자식 qx.ui.form.AbstractField
)에서 선택 색상을 변경하는 간단한 방법이 있습니까? 브라우저에서 부과하는 것처럼 보이는 밝은 파란색 선택을 제거하고 싶습니다.qooxdoo 편집 가능 필드 선택 색상을 변경하는 방법은 무엇입니까?
답변
나는 이것이 qooxdoo themeing에 의해 현재 처리 될 수 있다고 생각하지 않지만, 글로벌 qooxdoo 스타일 시트에 규칙을 추가하여 해결할 수 있습니다.
필요한 주요 정보는 ::selection
의사 요소입니다. 자세한 내용은 https://developer.mozilla.org/de/docs/Web/CSS/::selection 문서를 참조하고 이에 대한 답변은 stackoverflow https://stackoverflow.com/a/23681913/6255232에서 확인하십시오.
이 정보를 사용하여 CSS 규칙은 모든 선택 가능한 요소에 대해 전체적으로 또는 구체적으로 예를 들어 qx.ui.style.Stylesheet.getInstance().addRule
을 통해 추가 할 수 있습니다. 입력 및 텍스트 영역.
될 모든 입력 elments 위해 빨간색으로 선택 배경 색상을 changeing에 대한 기본 예 : 당신은을 주어진 규칙이 현재 브라우저에 적용 할 경우 addRule
방법 검사로
qx.ui.style.Stylesheet.getInstance().addRule(
"input::selection",
"background-color:#ff0000"
);
거야 -moz-
과 같은 접두사가있는 규칙을 게코 기반이 아닌 브라우저에 추가하려고 할 때 예외입니다. 따라서 브라우저 엔진 스위치를 사용하거나 모든 접두사를 사용하고 예외를 무시하여이 문제를 처리해야합니다.
var rules = [
"input::selection,textarea::selection",
"input::-moz-selection,textarea::-moz-selection",
"input::-ms-selection,textarea::-ms-selection",
"input::-webkit-selection,textarea::-webkit-selection"
];
for(var i=0;i<rules.length;i++) {
try {
qx.ui.style.Stylesheet.getInstance().addRule(
rules[i],
"background-color:#ff0000");
}
catch(ex) {};
}
모든 입력 및 텍스트 영역 요소의 배경색을 빨간색으로 변경해야합니다.
물론 규칙에 color
속성을 추가하여 텍스트 색을 변경할 수도 있습니다.
그리고 모든 요소에 변경 사항을 적용하는 *::selection
규칙을 만들 수 있습니다. 내 이전 대답
하나 개 추가 :
당신은
var cssColor = qx.theme.manager.Color.getInstance().resolve('my-theme-color-name');
를 통해 색 이름을 해결하여 테마 색상을 사용하고 규칙에 background-color
또는 color
속성을 구성하는 것을 사용할 수 있습니다.
동적 테마 변경을 사용하는 경우 다른 테마 색상을 반영하기 위해 규칙을 다시 적용해야합니다.
이 코드 스 니펫에서 적용된 qooxdoo 테마 색을 이름으로 사용하는 것이 가능합니까? –
좋은 아이디어! 곧 내 대답을 바꿀 것입니다. – level420