我想更改SelectInput的样式。我正在使用基于类的组件。我是这样设置的:
const QuoteListStyle = {
color: "#eceff1",
borderBottom: "1px solid #90caf9",
"&:hover:not($disabled):not($focused):not($error) $underline": {
borderBottom: "2px solid #90caf9"
},
width: "196px",
marginTop: "1rem"
};
然后在渲染中,我在“选择”部分中有此部分:
<FormControl>
<Select
style={QuoteListStyle}
value={this.state.quoteListName}
onChange={this.handleChange}
displayEmpty={true}
renderValue={
this.state.quoteListName > 0
? undefined
: () => <em>{this.state.quoteListName}</em>
}
>
<MenuItem value="" disabled>
<em>Select a Quote List</em>
</MenuItem>
{data.me.quoteList.map(item => {
return (
<MenuItem value={item.name} key={item.name}>
{item.name}
</MenuItem>
);
})}
</Select>
</FormControl>
我正在使用仅带有下划线的基本Select组件。我想更改下划线的颜色和大小。我在源代码中看过这里:
https://github.com/mui-org/material-ui/blob/master/packages/material-
ui/src/Select/SelectInput.js
我需要什么来控制下划线?我在组件加载时看到了我想要的下划线。悬停无法正常工作。从“选择”中选择一个项目后,我会在顶部看到我的样式,但默认样式在下面,并且我可以看到其中一些颜色。
我可以使用替代来做到这一点。这是我的主题代码:
const theme = createMuiTheme({
palette: {
primary: {
main: "#90caf9",
contrastText: "#f5f5f5"
},
secondary: {
main: "#19857b"
},
error: {
main: "#f44336"
},
background: {
default: "#102027",
paper: "#37474f"
},
text: {
primary: "#eceff1",
secondary: "#90caf9"
},
button: {
borderColor: "#90caf9"
}
},
overrides: {
MuiOutlinedInput: {
root: {
"& $notchedOutline": {
borderColor: "#90caf9"
},
"&:hover:not($disabled):not($focused):not($error) $notchedOutline": {
borderColor: "#90caf9",
borderWidth: 2
},
"&$focused $notchedOutline": {
borderColor: "#90caf9"
}
},
notchedOutline: {}
},
MuiSelect: {
icon: {
fill: "#90caf9"
}
}
}
});
export default theme;
我还查看了devtools,发现了这一点:
<div class="MuiSelect-root MuiSelect-select MuiSelect-selectMenu MuiInputBase-input MuiInput-input MuiInputBase-inputSelect" aria-pressed="false" tabindex="0" role="button" aria-haspopup="true"><em>Tech</em></div>
我不确定如何使用它来定位我想要的东西。
您不能"&:hover:not($disabled):not($focused):not($error) $underline"
以内联样式定位其他规则或伪类(例如)。相反,您需要使用CSS类(例如,通过makeStyles
用于功能组件,或者withStyles
可以与类和功能组件一起使用)。
您需要自定义的样式在Input中。下面是一个如何自定义下划线的示例。
您可以在我的相关答案中阅读有关此内容的更多信息:
import React from "react";
import ReactDOM from "react-dom";
import FormControl from "@material-ui/core/FormControl";
import InputLabel from "@material-ui/core/InputLabel";
import Select from "@material-ui/core/Select";
import MenuItem from "@material-ui/core/MenuItem";
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles({
select: {
"&:before": {
// normal
borderBottom: "1px solid orange"
},
"&:after": {
// focused
borderBottom: `3px solid green`
},
"&:hover:not(.Mui-disabled):not(.Mui-focused):not(.Mui-error):before": {
// hover
borderBottom: `2px solid purple`
}
}
});
const App = () => {
const [age, setAge] = React.useState("");
const classes = useStyles();
return (
<div className="wrapper">
<FormControl style={{ minWidth: "200px" }}>
<InputLabel htmlFor="age-simple">Age</InputLabel>
<Select
className={classes.select}
value={age}
onChange={event => setAge(event.target.value)}
inputProps={{
name: "age",
id: "age-simple"
}}
>
<MenuItem value="" disabled />
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
</div>
);
};
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
问题内容: 如何为mat-select的面板组件设置样式。从文档中我得到我需要提供panelClass,所以我将其设置为: 我在开发人员工具中检查了此类是否已附加到DOM中的面板并已附加。因此,我将自定义scss类附加到此元素。现在,当我提供CSS时,它根本不起作用。例如,我的scss如下所示: 面板的宽度始终等于选择元素的宽度。有时在选项中,您的字符串太长,我想使其更宽一些。有什么办法可以做
本文向大家介绍CSS样式选择选项,包括了CSS样式选择选项的使用技巧和注意事项,需要的朋友参考一下 要为<select>中的选项设置样式,您可以尝试运行以下代码, 示例
问题内容: 我要使第二个选择框箭头与第一个相同。但是我不知道它们为什么不同,因为我没有设置箭头的样式。 问题答案: 在大多数情况下,浏览器和操作系统会确定选择框的样式,几乎不可能仅通过CSS对其进行更改。您必须研究替换方法。主要技巧是应用appearance: none,使您可以覆盖某些样式。 它不会替代OS选择菜单UI元素,因此与该操作相关的所有问题都不存在(无法以长列表为主要内容脱离浏览器窗口
我一直在尝试更改选择选项的样式。例如添加颜色和背景似乎可以使用下面的代码。但它不起作用,例如边距:20px,边框或任何东西。一直在尝试不同的东西和JS和JQueary,但我不能让它工作,所有的提示都是欢迎的!:) null null
问题内容: 选择器的Vuetify组件是: 但是,当选择器处于活动状态时,会出现许多嵌套组件(在检查时),例如,下拉菜单本身。我将如何设计样式?对于“可见”的Vuetify组件v- select,我可以手动添加一个类,然后直接在CSS中设置其样式。但是,我无法对隐藏的组件执行此操作。 我尝试使用“.menu__content”检查类进行样式设置,但它似乎不起作用。 如何在CSS中手动设置这些组件的
本文最初于2015-10-03发表于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。 本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表、内嵌样式表、外部样式表 CSS四种基本选择器:标签选择器、类选择器、ID选择器、通用选择器 CSS几种扩展选择器:后代选择器、交集选择器、并集选择器 CSS样式优先级 前言 现在的互联网前端分三