如何使用 Tabs API 在材质 UI 中水平对齐选项卡标签和选项卡图标

2024-01-20

我正在尝试覆盖 Material UI CSS 并将电话图标和电话文本对齐在同一行并且彼此更靠近。我研究发现Tabs API https://material-ui.com/api/tabs/#css-api.

然后我调试并发现包装器属性产生了问题。我尝试通过将显示设置为阻止来修复,但电话图标和电话文本仍然没有在同一行对齐。

我在下面提供了代码和沙箱。我的所有代码都在 tab-demo.js 中

https://codesandbox.io/s/7p4ryw691 https://codesandbox.io/s/7p4ryw691

const styles = theme => ({
  root: {
    // flexGrow: 1,
    width: "100%",
    // flex: 0,
    textTransform: "capitalize"
    // backgroundColor: theme.palette.background.paper
    //  backgroundColor: 'red'
  },
  sportsAdvancedSearch: {
    // backgroundColor: 'green'
    color: "red",
    fontSize: 16,
    fontWeight: "bold"
  },
  sportsTotalNumber: {
    fontWeight: "bold"
  },
  sportsExportContainer: {
    paddingTop: 8,
    paddingBottom: 8
  },

  indicator: {
    backgroundColor: "red"
  },
  tabsIndicator: {
    backgroundColor: "red",
    textTransform: "capitalize"
  },
  tabRoot: {
    textTransform: "initial",
    width: "100%",
    display: "block",

    "&:hover": {
      color: "red",
      opacity: 1,
      textTransform: "initial"
    },
    "&$tabSelected": {
      color: "red",
      fontWeight: theme.typography.fontWeightMedium,
      textTransform: "capitalize"
    },
    "&:focus": {
      color: "red",
      textTransform: "capitalize"
    }
  },
  tabSelected: {},
  sportsHeading: {
    fontSize: 32,
    fontWeight: "bold",
    padding: 16
  },
  sportsTabHeader: {
    //  border: "1px solid red",
    backgroundColor: "#f5f5f5"
  },
  alignment: {
    display: "block"
    //  color: 'red'
  }
});

  <Tabs
            value={value}
            onChange={this.handleChange}
            scrollable
            scrollButtons="on"
            classes={{ indicator: classes.tabsIndicator }}
          >
            <Tab
              label="phone"
              icon={<PhoneIcon style={{ display: "block" }} />}
              classes={{
                root: classes.tabRoot,
                selected: classes.tabSelected,
                wrapper: classes.alignment
              }}
            />
            <Tab
              favorites={favorites}
              label="Favorites"
              icon={<FavoriteIcon style={{ display: "block" }} />}
              classes={{
                root: classes.tabRoot,
                selected: classes.tabSelected,
                wrapper: classes.alignment
              }}
            />
          </Tabs>

这成功对齐了选项卡文本和选项卡图标水平地不影响选项卡/选项卡面板功能。

“把所有东西都放在标签里”的方式

<Tab label= {<div><HomeIcon style = { {verticalAlign : 'middle'} } /> Home </div>}/>

Source https://github.com/mui-org/material-ui/issues/11653#issuecomment-571892544

CSS Way

只需将其添加到附加到选项卡组件的 CSS 中即可。

.MuiTab-wrapper {
  flex-direction: row !important;
}

不要忘记添加“!重要”,因为我们正在覆盖预定义的类.MuiTab-wrapper由 mat-UI 提供,因此在没有 '!important' 的情况下重新加载后可能无法工作。

作为旁注,

如果您将图标和选项卡包含在 div 中并添加一些 CSS 来对齐两者,那么它可以工作,但是您会失去 Material-UI 提供的开箱即用的选项卡/选项卡面板功能。

如果您不关心该功能,可以尝试一下。

<div style={{display:'flex',alignItems:'center'}}>
       <HomeIcon/>
       <Tab label="Home" />
</div>

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Tabs API 在材质 UI 中水平对齐选项卡标签和选项卡图标 的相关文章

  • 在js中检测浏览器的最佳方法

    JavaScript 中有很多浏览器检测方法 据我所知 使用navigator userAgent或检测特征 例如XMLHttpRequest 等等 谁能告诉我哪种方法最好 最有效 如果你真的需要知道什么browser他们正在使用 你主要需
  • Hydrate with RTK Query 确实会抛出错误

    我有一个非常简单的组件来显示来自本地 API 的数据 使用 Nextjs API 路由制作 我使用 RTK 查询来获取数据 const api createApi reducerPath data baseQuery fetchBaseQu
  • 以编程方式触发 highchart 散点图上某个点的单击事件

    实际上 我有一个小要求 其中有一个带有点列表和下拉列表的散点图 当我从下拉列表中选择一个项目时 应触发其相应的数据点单击 当我在图表上选择一个数据点时 必须执行一些操作 并且下拉列表应根据选择进行更新 我们有什么办法可以做到这一点吗 我尝试
  • apollo 客户端从存储中删除而不发生突变

    我需要通过 id 从本地存储中删除一条 记录 而不使用突变 因为服务器不支持突变 我尝试像这样手动访问商店 delete this apolloClient store getState apollo data 1112 这会删除记录 但是
  • 如何反转媒体查询中元素的顺序?

    我有两个 div 左和右 但是当屏幕小于 500px 时 左 div 成为底部 div 右 div 成为顶部 div DOM 中的第一个 div 应该显示为第二个 第二个 div 为第一个 I use display flex 然后 div
  • 我将 X Y Z 坐标转换为屏幕 X Y 坐标有什么问题吗?

    我正在制作 3D 空间中弹跳的球体的 HTML5 Canvas 演示 这非常简单 每个球都有 X Y 和 Z 坐标 然后 这些坐标将转换为我在此处阅读的屏幕 X 和 Y 坐标 http answers google com answers
  • 为 Gmail 设计 HTML 电子邮件

    我正在生成一封使用内部样式表的 html 电子邮件 即 h2 class foo Email content here 在 Gmail 中查看时 内部样式表中的所有样式似乎都被忽略 Gmail 似乎忽略了内联规则以外的所有样式 例如 h2
  • React TypeError:x 不是函数

    我在子组件中从父组件调用函数 booksRefresh 但出现错误 类型错误 booksRefresh 不是函数 我不知道为什么 因为 booksRefresh 是一个函数 有人可以帮我解释为什么会出现这个错误吗 这是我的代码 import
  • 如何在 JavaScript 中从代理对构造 UTF-16 字符?

    以下计算 Unicode 代码点的 UTF 16 代理对 戴着医用口罩的脸 https emojipedia org face with medical mask 但是如何从代理对构造字符以在字符串中使用呢 const codepoint
  • 如何修复带有单个道具的括号的 prettier 和 tslint 错误?

    我使用 prettier 和 tslint https github com alexjoverm tslint config prettier https github com alexjoverm tslint config prett
  • iframe 位置居中

    所以我找到了这段用于将内容放在中心的代码 但我的问题是它是为容器制作的 你知道如何为 iframe 制作它吗 或者你知道另一个代码吗 代码 center margin auto width 60 border 3px solid 73AD2
  • Skrollr 添加空白

    我已经尝试了一切 我在谷歌上阅读了 4 5 页试图找到适合我的修复程序 已经筋疲力尽了 即使我使用 skrollr 示例 我的问题仍然存在 不是说他们做错了什么 我知道我只是没有正确理解它 因此 我上传了一个演示 仅在移动设备上展示这个尴尬
  • 如何在 WebView 中添加 JavaScript 函数并稍后在提交 reCAPTCHA 时从 HTML 调用它

    我在 WebView 中添加一个 JavaScript 函数 如下所示 Kotlin val webView findViewById R id webview as WebView webView getSettings setJavaS
  • CSS 字体在 Firefox 中不起作用

    我下面有这个字体代码 它在谷歌浏览器中工作正常 但在火狐浏览器中根本不起作用 为什么
  • 当td内容太宽时,表格溢出父div

    我准备了一个 JSFiddle 来解释 向你展示我的问题 http jsfiddle net nz96C http jsfiddle net nz96C 乍一看还不错 但是当我添加一些文本时 firsttd一旦使用 tds 整个宽度 整个表
  • 两个 div 之间的匿名空白

    这里是Fiddle http jsfiddle net y6hSV 1 我有两个divs一个用于标题 另一个用于主体 在 的里面div这是标题 我还有另一个div那个 div 是floated left 因为那个floating 两者之间出
  • 右列固定的 Div 表

    我最近接手了一个非营利网站作为一个项目 我正在使用一个现有的网站 所以我必须使用很多已经编程的东西 所以我所要做的就是创建设计 I made a diagram of basically what I can t figure out ho
  • 将一维数组转换为二维数组[重复]

    这个问题在这里已经有答案了 我正在开发一个程序 我必须将文本文件中的值读入一维数组 我已经成功获取该一维数组中的数字 m1 1 2 3 4 5 6 7 8 9 但我希望数组是 m1 1 2 3 4 5 6 7 8 9 您可以使用此代码 co
  • 开玩笑 setTimeout 不暂停测试

    it has working hooks async gt setTimeout gt console log Why don t I run expect true toBe true 15000 我已经查看了这个答案 Jest 文档和几
  • 使用样式组件更改 SVG 描边的颜色

    我有一个 SVG 用作 img 标签 使用样式组件 我试图达到在悬停时更改描边颜色的程度 我导入了 SVG import BurgerOpenSvg from images burger open svg 我为它创建了一个样式组件 cons

随机推荐

  • 如何通过命令行填充 CosmosDB 集合?

    我正在为 Azure 开发一组脚本 我想知道如何使用以下命令填充 CosmosDB 集合az 目前 我知道如何创建数据库和集合 但如何初始化数据库 az cosmosdb create resource group RESOURCE GRO
  • GCC 相当于 PDB

    我有一个程序打算分发给最终用户 并希望从他们那里收到崩溃报告 如果我使用 MSVC 我会生成小型转储并将其发送给我 然后使用相应的 PDB 检查它们 至少获得有用的堆栈跟踪 使用 GCC 执行此操作相当于什么 我可以生成堆栈跟踪 但如果我希
  • cordova run android 执行良好。但Android 4.1.2无法启动该应用程序

    我开始使用 Cordova 5 0 0 cordova v 打印 5 0 0 开发 Android 应用程序 并在装有 Android 4 1 2 的 Moto Razr D1 上进行测试 顺便说一句 在 Windows 7 下 cordo
  • Django、ReportLab PDF 生成附加在电子邮件中

    使用 Django 和 ReportLab 生成 PDF 并将其附加到电子邮件的最佳方法是什么 我正在使用 SimpleDocTemplate 并且可以将生成的 PDF 附加到我的 HttpResponse 这很棒 但我无法找到如何将相同的
  • 在独特的类别存档页面上隐藏主类别标题

    我正在构建一个包含许多不同类别的网站 并且需要简单地删除类别标题one存档页面 http redyearclients co uk PandF product category exterior paaving paaving brands
  • npm 命令中 -s 是什么意思?

    我看到以下命令包括 s选项 它有什么作用 s 意思是 因为我没有看到这个选项package json npm run dev s 旗帜 s代表 沉默 适用于npm 而不是命令中的dev脚本 The s标志阻止npm当命令以非零状态退出时 即
  • 用于 C# 对象数据源的 EDI x12 映射器

    有谁知道有什么工具可以将 EDI x12 映射到 C 对象吗 我刚刚查看了 Altova MapForce 但它似乎不支持这一点 出于可移植性原因 我无法使用数据库模式映射 并且如果可以的话 我宁愿避免使用 xml 或平面文件 实际上 Ma
  • LoadRunner web_reg_save_param、ord=all、paramName_count 问题

    我使用的是 LoadRunner 版本 12 02 Build 2739 查看旧的但正确的 指南 表明我已经正确使用了这些语句 第三点 大约页面下方的 1 3 在代码块内 the atoi陈述 http motevich blogspot
  • 使用numpy计算曲率时出错

    我正在尝试使用以下方法计算二维曲线在每个点的曲率公式在这里 http en wikipedia org wiki Curvature Local expressions 我遇到的问题是 虽然我得到了一个应有的恒定值 但该值不是正确的值 这是
  • VB.NET - 从字符串中删除字符

    我有这个字符串 Dim stringToCleanUp As String bon jour Dim characterToRemove As String 我想要一个删除 的函数像这样的字符 Function RemoveCharacte
  • 无法在本地主机上的 Internet Explorer 中加载 jQuery (WAMP)

    我有一段标准的 HTML 但无法让 jQuery 在 IE 上运行 我尝试了IE10和IE11 以及IE10中模拟的IE8和9 我什至尝试使用来自的代码HTML5 样板 https html5boilerplate com 我正在测试 jq
  • 有没有办法让 CoreML 模型在源代码级别适用于 iOS11+

    我的应用程序中有一个 CoreML 模型 在运行时 预测功能应在 iOS8 10 上禁用 并在 iOS11 上激活 为了能够在使用 CoreML 的所有类上进行编译 我添加了 可用 iOS 11 0 但 mlmodel 在每次重建时都会生成
  • Play 商店中的广告部分为空

    我正在 Play 商店上传应用程序 我已经完成了所有必需的表格和输入 但是当我去应用内容 gt 广告 它不显示任何输入字段 有什么问题或者我需要先完成其他事情吗 我选择了 App Alpha 测试轨道并上传应用程序包 然而 只有广告这件事留
  • 如何在单击时在光标周围放置一个

    我正在尝试重新创建 Facebook 标记功能 在该功能中 您单击图像 并且您单击的图像部分显示一个空框 或正方形 使用 jQuery 如何使该框在单击时出现在光标周围 Thanks 像这样的东西可能会帮助你 其中 image 是可标记的图
  • 调试z轴旋转不为0,而在inspector中为0

    在检查器中 我的变换的 z 轴旋转为 0 但是当我使用这些代码行进行调试时 Debug Log local Euler z transform localEulerAngles z Debug Log global Euler z tran
  • Common Lisp 类层次结构

    格雷格 菲尔的类层次结构 http sellout github io media CL type hierarchy png该图提供了 Common Lisp 类型系统的全面描述 但我试图更好地理解层次结构顶部的类关系 举一个简单的例子
  • 推荐的 django 项目结构是什么?

    我还没有确切地找到这个问题的答案 也许没有最好的答案 Django 文档对此不清楚 我不确定建立 django 项目的好习惯是什么 当然 我有可重复使用的应用程序 但我总是需要一些粘合代码 我发现自己总是为每个项目创建 核心 应用程序 通常
  • 如何使用查询注释删除 MongoRepository 中的项目?

    我使用 MongoRepository 将 Spring Data 与 MongoDB 结合使用 我想知道是否可以使用查询注释通过过滤器进行删除 我一直在看这里和谷歌 但找不到任何文档 Query value id 0 delete tru
  • 为什么引导加载程序中的字节“0xea 0000 ffff”会导致计算机重新启动?

    我正在研究引导加载程序 发现了这个有趣的组件 Sends us to the end of the memory causing reboot db 0x0ea dw 0x0000 dw 0xffff 通过评论我知道它的作用 将计算机发送到
  • 如何使用 Tabs API 在材质 UI 中水平对齐选项卡标签和选项卡图标

    我正在尝试覆盖 Material UI CSS 并将电话图标和电话文本对齐在同一行并且彼此更靠近 我研究发现Tabs API https material ui com api tabs css api 然后我调试并发现包装器属性产生了问题