博客
关于我
dijit样式定制之TextBox(一)
阅读量:415 次
发布时间:2019-03-06

本文共 1263 字,大约阅读时间需要 4 分钟。

  参考资料:http://dojotoolkit.org/reference-guide/1.9/dijit/themes.html

       http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html

       http://www.lesscss.net/article/home.html

  这系列博客主要因为工作中经常需要更改dijit样式,每次都需要看dijit的DOM结构来更改,好多次都是改了一个class样式连带着影响到其他dijit。痛定思痛之后决定深入了解一下dijit的样式结构,把他分享出来希望高手能够不吝指正。

  dijit的样式表位于以下目录中,dijit.css是对所有dijit布局结构的定义,另外我们还可以看到三个目录:claro、soria、tundra这三个目录中定义的就是dojo带给我们的三种样式风格。进入到claro中我们可以看到其中的css文件和less文件,对于我们需要修改dijit样式的开发者来说,主要就是看其中的less文件,这就好比一个类库给我们提供了一系列接口。这里面定义的就是不同风格下的dijit样式,我们打开其中一个,可以看到文件开头介绍了该文件中主要定制了哪些class,以及这些class的作用。(less是一种css预编译语言,整个dojo样式体系就是用它写的,详情请看第三个链接)

  

  现在我们打开themeTester.html页面,在这可以看到各种dijit,这个时候右键出来的是contextmenu菜单,不想要的话在代码里把它相应的代码注掉就行。下面我们先来看看TextBox,所有的TextBox都是通过div内嵌input来布局

  

由于一个元素可以加多个class所以左图主要画出能够反映dijit布局结构的class,具体的类还需要读者自己去看,下面介绍几个重要的class:

  .dijitInputField,当你想改变textBox的宽度或者高度时,只需改变改变该类中的padding属性即可。

  .dijitInputInner,该类中定义TextBox的内部input样式,可以设置color、padding

  .dijitArowButton,该类主要定义下拉按钮的背景样式

  .dijitArrowButtonInner,该类主要通过设置background-position来改变不同的箭头指向

  .dijitValidationContainer,error状态下中间的叹号,通过设置background、border、width样式

  至于不同状态下TextBox的样式在claro/form/Common.less中line73-150设置,还请读者自己查看。

  

  dijit的样式十分庞杂,比dojo的类更加繁琐。今天先到这吧,以后会继续更新,希望大家支持,提出宝贵意见。

转载地址:http://hqyuz.baihongyu.com/

你可能感兴趣的文章
iOS UIAlertController
查看>>
iOS UISlider的使用
查看>>
iOS Xcode 打包之后,不能输出日志
查看>>
UIPickerView的使用(二)
查看>>
iOS 多线程GCD简介
查看>>
不想eject,还咋修改create-react-app的配置?
查看>>
实现延迟消息队列
查看>>
写了一下 micropython 的文件系统单元测试
查看>>
说说字库和字模的故事,然后在 MaixPy 里实现打印中文字体(任意字体)吧!
查看>>
linux kernel version magic 不一致导致的模块 加载 (insmod) 不上
查看>>
线性代数应该这样学9:上三角矩阵、对角矩阵
查看>>
【科学计算】插值理论
查看>>
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
查看>>
深度学习一:深度前馈网络和反向传播
查看>>
在wxPython使ListCtrl占据整个窗口
查看>>
微软面试题
查看>>
Google新玩法(转载)
查看>>
C#中Dispose和Close的区别!
查看>>
如何让服务在流量暴增的情况下保持稳定输出
查看>>
一个20年技术老兵的 2020 年度技术总结
查看>>