grid标签(grid表)
Flex 表格Grid究竟怎么了,我设置了CSS,在test.mxml页面测试有边框,放到Do.mxml页面就没有了。纠结...
最好能贴下代码。
既然在test.mxml中有效,问题还是比较容易发现的。
你可以试着按以下方法查找原因。
1、你的CSS是全局的么?如果不是引用路径对么?
2、你的Do.mxml中对Grid的设置中是否设置了border属性,按优先级来看,Grid标签属性设置的优先级最高。
3、比较test.mxml和Do.mxml中的代码有什么不同,或者做两个测试的表单,只用Grid标签,来对test和Do表单中的设置进行测试。
4、目前问题出现在边框显示的问题上,简化Grid的属性设置,只保留与border相关的设置进行测试。可以结合(3)的步骤,这样查找就比较明确了!
以上个人开发经验,希望对你有所帮助!
2.grid方法
这时一种以格状或者类似Excel电子表格方式包装和定位窗口组件的方法。grid方法的语法格式如下。
grid(options,···)
options参数可以是row、column、padx/pady、rowspan、columnspan、sticky。
样例:
可以设定控件在column方向的合并数量,在正式讲解cloumnspan参数功能前,下面先介绍建立一个含8各标签的应用。
如果发生了标签2和标签3的区间是被一个标签占用的情况,此时就是使用columnspan参数的场合。
可以设定控件在row方向的合并数量
样例:
window.mainloop()
样例:增加标签的间距
这个参数的功能类似anchor,但是只可以设定N/S/W/E。原则上相同column的Widget控件,如果宽度不同时,gird方法
会保留最宽的控件当作基准,这时比较短的控件会居中对齐,可参考下列实例:
执行后可以看到"明志工专"标签是居中对齐。
设置"明志工专"标签靠左对齐。
lab1.grid(row=0,column=0,padx=5,pady=5,sticky=W)
sticky参数的可能值N/S/W/E也可以组合使用。
sticky=N+S:可以拉长高度让控件在顶端和底端对齐。
sticky=W+E:可以拉长宽度让控件在左边和右边对齐。
sticky=N+S+E:可以拉长高度让控件在顶端和底端对齐,同时切齐右边。
sticky=N+S+W:可以拉长高度让控件在顶端和底端对齐,同时切齐左边。
sticky=N+S+W+E:可以拉长高度让控件在顶端和底端对齐,同时切齐左右边。
使用grid方法建立色彩标签的应用。
在设计Widget控件的布局时,有时候会碰上窗口缩放大小,此时可以使用这两个方法设定第几个row或column的缩放比例。例如:
rowconfigure(0,weight=1) #row 0的控件当窗口改变大小时缩放比是1
columnconfigure(0,weight=1) #column 0的控件当窗口改变大小时缩放比是1
增加设计lab1的sticky=W,让其可以切齐左边。同时让下方的标签可以对齐上、下、左、右。
通过上述执行结果可以得知下方的标签控件可以随着窗口大小更改,主要是设置"sticky=N+S+W+E"的结果。
至于sticky=W,会让lab1控件向左对齐。

CSS布局:float、position、flex、grid
CSS是前端基础技能之一,而CSS最重要的功能就是网站布局。
CSS布局方式有很多,从远古时代的table(表格)布局--float(浮动)布局--position(定位)布局--flex(弹性)布局--grid(网格)布局(还未正式推出),下面咱们简单谈一谈各种布局的用法及其优缺点。
table布局就是将网站当做一个表单来做,这里不做展开,因为现在基本不这么用了。
float:浮动。float刚开始并不是为了用来网页布局,而是用来解决图文信息中图片与文本冲突的问题的。
如下图:
这种常见的图文效果,没有float之前是很难达到的。有了float之后只需要加一个float:left,轻松搞定。
‘咦,如果float可以处理图文的问题,那用来布局不也可以吗?’,后来有人用float试着用于网页布局,还真的可以。
网页中最常见的布局如下:
用float做
比table布局要方便不少,不过float随之而来的带来了 “浮动高度塌陷”的问题:
如果浮动元素的父元素没有设定高度,当其子元素浮动后,父元素就因为内部没有子元素撑起从而高度变为0;
引申:网页元素一般分为 普通流,浮动流,定位流。其中普通流和浮动流在一个层级上,定位流浮动流普通流。
之后为了解决这个问题搞出来一系列清除“浮动高度塌陷”的策略方法,非常麻烦。
position:定位;顾名思义,就是确定位置。position同样可以用做网页布局。
同样的效果
不过position需要计算每一个元素的位置,而且这个位置是定死的,略显繁琐和笨重。实际上position我平常只用来定位一些小的标签之类的东西。position优点在于不像float那样会影响其他元素。
关键点:子绝父相。需要定位的元素用absolute绝对定位,其父元素用 relative相对定位。还有fixed固定定位,他是以html为父元素的定位。
flex:弹性;弹性布局很好的解决了float和position的问题,非常好用。
使用方法:
在父元素使用 display:flex;确定弹性作用的范围。
然后
justify-content:center(space-around,space-between等);水平方向布局;
align-items:center(flex-start,flex-end等);垂直方向布局;
不过flex不兼容IE8及以下的浏览器。
大部分情况下flex布局已经能满足需要,不过flex只能用作一维布局,也就是说,flex一次只能作用于一条线。如果想要进行二维布局,必须翻转坐标二次弹性,这样会显得不够优雅,这时候grid(网格)布局就发展起来了。
grid布局用法和flex相似,但是作用于二维布局。
先在父元素使用 display:grid;确定网格作用范围;
然后
grid-template-columns: 40px 50px auto 50px 40px;(行)
grid-template-rows: 25% 100px auto;(列)
等等属性,这里只简单介绍,大家了解有这个东西就行。
在现实工作用,以flex为主,position辅助已经足够应对所有问题。