H2D CSS - R32/heaps GitHub Wiki
由于 h2d.Flow
能快速地布局, 因此 css 组件已经在 deleted h2d.comp/css 被完全删除,因此下边的内容已经是过时了的
实际上 h2d.Flow
非常地简单, 虽然它的源码看上去很长, 你可以把它看成一个用来布局的容器。
HTML Element
所支持的元素,通过查看 h2d.comp.Parser
的源码可以得知:
-
body
: 将作为所有组件的根元素 -
style
: 由于 body 将为根元素,因此这个元素放在 body 下就好了。 -
script
: 由于运行时,因此这些脚本应该为 hscript,还有实际上 h2d.comp 下有个模拟的 JQuery 类,你可以看下 -
div, box
: 对应为h2d.comp.Box
默认CSS属性:
layout: inline
-
button
: 对应为h2d.comp.Button
-
slider
: 对应为h2d.comp.Slider
-
label, span
: 对应为h2d.comp.Label
-
h1, h2, h3, h4
: 对应为h2d.comp.Label
,例:<label class=":h2">Hi</>
-
checkbox
: 对应为h2d.comp.Checkbox
-
itemlist
: 对应为h2d.comp.Itemlist
-
input
: 对应为h2d.comp.Input
,注: 不支持 IME 输入(即不支持输法入输入) -
color
: 对应为h2d.comp.Color
。一个颜色方块,点击后将自动打开 colorpicker -
colorpicker
: 对应为h2d.comp.Colorpicker
-
gradienteditor
: 对应为h2d.comp.Gradienteditor
-
select
: 对应为h2d.comp.Select
option
: 父元素必须为 select,因为这个元素的 innerData 将会添加到 select 对象上去
-
value
: 对应为h2d.comp.Value
Attribute
元素所支持的属性
-
class
: 同样可以使用空格分隔多个类名 -
id
: 参考 h2d.comp.JQuery 及 sample/comp 示例 -
value
: 作用于slider, input, color, value, button, option
-
style
: -
selected
: Bool 类型(只要不为 "false",那就为 true),仅作用于itemlist
元素 -
checked
: Bool 类型,仅作用于checkbox
元素 -
x, y
: Float 类型 -
max, min
: Float 类型,仅作用于slider, value
这些元素 -
increment
: Float 类型,仅作用于value
元素 -
onchange
: 仅作用于slider, checkbox, itemlist, input, color, select, value
这些元素 -
onblur, onfocus
: 仅作用于input
元素 -
onmouseover, onmouseout, onmousedown, onmouseup, onclick, onrclick
: -
disabled
: Bool 类型,这个属性会使得这个元素addClass(":disabled")
CSS
参考 h2d.css.Parser
文件
VGroup(list)
: 表示用空格分隔的值VList(list)
: 表示用逗号分隔的值
由于 h2d.css.default.css
中设置了默认字体 "Arial", 12px 大小,因此可能需要将这个字体在资源根目录。
TODO: 不知道 BitmapFont 是否能行
Layout
-
layout
: horizontal, vertical, absolute, dock, inline -
dock
: top, left, right, bottom, full -
offset
: 默认为offset 0 0
offset-x
: “数值”offset-y
: “数值”
-
spacing
:vertical-spacing
: “数值”horizontal-spacing
: “数值”
-
overflow
: hidden, visible -
position
: absolute, relative -
display
: none, block, inline-block。后边二个相等
Text
text-align
: left, center, right。 默认为 left
Style
-
font-family
: 字符串 or 标识符(允许有空格,因为只能设置一个字体),默认为"Arial"
-
font-size
: “单位值”,默认为12px
-
color
: “颜色值”。默认为white
-
background
: 目前它就等于background-color
-
background-color
: “填充颜色值”,默认为 :transparent
-
border-radius
: “数值” -
increment
: “数值”,TODO: 用于 slider 元素拖动滑动条时的增量??? -
max-increment
: “数值”,用于 slider 元素??? -
tick-color
: “填充颜色值”,用于 checkbox 元素??? -
tick-spacing
: “数值”,用于 checkbox 元素??? -
cursor-color
: “颜色值”, 用于 input, itemlist 元素表示光标颜色??? -
selection-color
: “颜色值”, 用于 itemlist 元素??? -
icon
: “图片值”,只有当这个的值存在时, icon-XXXX 之类的属性才有效。- 注意: 这个 tile 的 colorKey 值为 0xFFFF00FF
-
icon-color
: “颜色值”, 默认为 white -
icon-left
: “数值” -
icon-top
: “数值”
Box Model
-
border
: (1) none,(2)border: width style color
border-width
: “数值”border-style
: (1) solidborder-color
: “填充颜色值”
-
padding
: (1) 全部 :padding: 0;
,(2) 上下 左右 :padding: 0 0;
。 默认为 0;padding-top
:padding-left
:padding-right
:padding-bottom
:
-
margin
: 同 padding。默认为 0;
margin-top
:margin-left
:margin-right
:margin-bottom
:
width, height
: (1) “数值”,(2)auto
Misc
-
整数值: e.g: (1)
100px
,(2)100pt
,(3)100
-
数值: (1) “整数值”,(2)
100.0
-
单位值: (1) “数值”,(2)
100%
-
颜色值: (1)
#FFF
, (2)#FFFFFF
, (3)rgba(255, 255, 255, 1.0)
, (4)下列枚举值 :black : 0x000000; red : 0xFF0000; lime : 0x00FF00; blue : 0x0000FF; white : 0xFFFFFF; aqua : 0x00FFFF; fuchsia : 0xFF00FF; yellow : 0xFFFF00; maroon : 0x800000; green : 0x008000; navy : 0x000080; olive : 0x808000; purple: 0x800080; teal : 0x008080; silver: 0xC0C0C0; gray, grey : 0x808080;
-
填充颜色值: (1) “颜色值”,(2)
transparent
,(3)gradient(a, b, c, d)
a, b ,c ,d 的取值范围全为“颜色值”,分别为 左上, 右上, 左下, 右下。
-
图片值: 例:
url("res://path/to/file.png")
,url("data:image/png/base64,....")
对于上边示例中的第一个,其实只要把文件相对于资源文件夹的文件名放在 "res://" 之后即可。
-
支持
!important
示例: samples/VisualComponents.hx