利用相对定位及偏移量做精美输入界面

本文介绍如何使用CSS的相对定位和偏移量属性来构建简洁美观的用户输入界面,包括标题栏、内容区域和确定按钮的设计。

利用相对定位和偏移量属性,可以很好的实现以前需要用图片才能实现的界面,而且实现起来比也很方便。例如,当需要用户输入某些信息,我们常常会用到:标题栏-内容-确定按钮 这种结构,下面是利用CSS样式的相对定位及偏移量做的输入界面。主要特点是:

  1. 标题栏图片有向上的偏移量。利用样式:top:-10px;position:relative; 可以让图片脱离容器,定位于容器之外(本例子中图片的容器是class="main"的div)。但有一点需要注意的是,图片位置虽然脱离容器了,但它依旧在容器里占有一定空间,该例子中,无论怎么设置.main选择器的height属性,绿色条纹的高度总不会小于20px(图片的高度)。
  2. 标题栏的文字我同样用了top,bottom,left,right这些偏移量属性,一开始想只利用vertical-align:middle; 属性让文字垂直居中,但失败了,文字一直和底线对齐,无奈又用了偏移量。
  3. 绿色条纹使用了CSS滤镜产生渐变效果,可惜据说只有IE支持:-(
  4. 末端“确定”按钮也是用了相对定位及偏移量的技术。

下面是效果图及代码,只用了一张20px*20px的msn图标addRole.gif

效果图:

pic.jpg

CSS代码:

ExpandedBlockStart.gif ContractedBlock.gif a:link,a:active,a:visited {dot.gif} {
InBlock.gif    color
: #2D4D97;
InBlock.gif    text-decoration
: none;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gifa:hover 
{dot.gif} {
InBlock.gif    text-decoration
: none;
InBlock.gif    color
: #FF9900;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.title
{dot.gif} {
InBlock.gif    color
:#006600;
InBlock.gif    display
:block;
InBlock.gif    height
:20px;
InBlock.gif    width
:65%;
InBlock.gif    border
:none;
InBlock.gif    filter
:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorStr=#FFD9E7CB,endColorStr=#00FFFFFF);
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.title span
{dot.gif} {
InBlock.gif    display
:inline;
InBlock.gif    position
:relative;
InBlock.gif    top
:-4px;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.title img
{dot.gif} {
InBlock.gif    position
:relative;
InBlock.gif    top
: -10px;
InBlock.gif    left
: 5px;
InBlock.gif    display
:inline;
InBlock.gif    margin
:0px 10px 0px 0px;
InBlock.gif    padding
:0px;
InBlock.gif    height
:20px;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.main
{dot.gif} {
InBlock.gif    margin
:10px 20px 30px 20px;
InBlock.gif    padding
: 10px 20px 10px 20px;
InBlock.gif    width
:100%;
InBlock.gif    border
:#CCCCCC 1px solid;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.main .item
{dot.gif} {
InBlock.gif    vertical-align
:middle;
InBlock.gif    margin
:5px 0 5px 0;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.main .foot
{dot.gif} {
InBlock.gif    position
:relative;
InBlock.gif    bottom
:-10px;
InBlock.gif    left
:80%;
InBlock.gif    display
:block;
InBlock.gif    border
:#CCCCCC 1px solid;
InBlock.gif    border-bottom
:none;
InBlock.gif    width
:15%;
InBlock.gif    text-align
:center;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.main .foot a
{dot.gif} {
InBlock.gif    background-color
:#F3FCE0;
InBlock.gif    padding
:2px;
InBlock.gif    width
:100%;
ExpandedBlockEnd.gif
}

ExpandedBlockStart.gifContractedBlock.gif.main .foot a:hover
{dot.gif} {
InBlock.gif    background-color
:#D8EBFE;
InBlock.gif    padding
:2px;
InBlock.gif    width
:100%;
ExpandedBlockEnd.gif
}

html代码:

None.gif < div  class ="title" >
None.gif    
< img  src ="https://i-blog.csdnimg.cn/blog_migrate/beee2ae0ec42fee18d925deb8a4d02b1.gif" >   < span > 请填写角色基本信息 </ span >
None.gif
</ div >
None.gif
< div  class ="main" >
None.gif    
< div  class ="item" > 角色名称:
None.gif      
< input  name ="textfield"  type ="text"  size ="20"   />
None.gif    
</ div >
None.gif    
< div  class ="item" > 角色描述:
None.gif      
< textarea  name ="textfield2"  cols ="50"  rows ="5" ></ textarea >
None.gif    
</ div >
None.gif
< div  class ="foot" >
None.gif    
< href ="#nogo" > 确定 </ a ></ div >
None.gif
</ div >

转载于:https://www.cnblogs.com/oliverhuang/archive/2006/08/17/479918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值