@font-face
知识点: test.htm 使用了 NinjaLine.ttf(字体资源) .
@font-face //定义了字体
{
font-family: NinjaLine; //命名
src: url(NinjaLine.ttf); //引用字体资源
}
p#test
{
font: 18pt NinjaLine; //使用字体
}
@image-map
知识点:
1. 将多张图片(通常是按钮) 组合成一张大的图片, @image-map 定义一个对象, 使用 cells 分切这张图片, 用items 定义成多个逻辑名, 然后在css中 用 image-map(对象, 逻辑名) 获取.
2. foreground 前景图片, 使用 foreground-image-transformation : colorize(#70F) 前景图片转换, 仅需一张图片,即可让界面与用户能很好的互动.
@image-map tb-icon
{
src:url(rttb.png); //rttb.png 为一张大图(由很多botton图标组成).
cells:15 2; /* 15 columns, 2 rows */ //15列, 2行
/* logical names of the parts, see toolbar-icons.png */
items: ulist,
olist,
unindent,
... //省去一部分逻辑名
}
div {
size:100px;
border:1px solid black;
foreground: no-repeat image-map(tb-icon,bold); // 使用image-map(对象, 逻辑名)
}
div:hover {
foreground-image-transformation: colorize(#70F); //鼠标移上后, 前景图片转换颜色
abc
知识点:
#fix {
position:fixed; //这里会随着屏幕大小浮动, 同时位置受到 left right top bottom 的影响, 大小收到width,height的影响
left:*; right:*; width:100px;
top:*; bottom:*; height:2*; // 这里的*是平均值 , 这里给我的感觉是: 当同时设置了left和right的值时, width会被动态调整, 当同时设置了top和bottom的值时, height会被动态调整
padding:12px;
background-image:url(images/back.png);
background-repeat:expand;
background-position:11px 11px 11px 11px;
}
menu
知识点: 需要理解 positon 属性,
1. relation 存在于文档流中, 仅相对于自身的位置进行偏移,
2. aboslute 不存在与文档流中, 其相对位置定位的父窗口进行偏移, 若不存在此类父窗口, 则正对body进行位置定位
body{ }
menu
{
flow: horizontal;
width: 100%%;
margin: 0;
white-space:nowrap; /* 强调文本同一行*/
background-color: silver;
padding-right:100%%;
}
menu li
{
display: block;
padding:2px 6px;
position: relative; /* 这里设计主要是为了让子列表能按照此位置进行绝对定位 */
}
menu li:hover
{
background-color: navy;
color:white;
}
menu menu
{
flow: vertical;
min-width:100%;
display: none;
position:absolute; /* 相对于之前的 menu li定位*/
background-color: transparent;
background-image: url(images/menu-back.png);
background-repeat: expand;
background-position:10px 10px 10px 10px; /* 切割图片, 是图片居中*/
padding:5px 10px 10px 5px;
color:black;
left: -6px; /* 抵消 menu li 的padding值 */
}
menu > li:hover >menu
{
display: block;
}