




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用DIV+CSS在网页中制作三角形作者:叉叉君文章来源:本站原创 更新时间:2011-6-26 18:29:12更多三角形我们经常用在列表、下拉提示、面包屑导航的位置,给用户以导向的引导作用,比如,在有下拉列表的地方,我们可以用向下的箭头,在列表的时候,我们能告诉用户每个列表项和下一个列表项的关系,当在面包屑导航中,能让用户了解他现在所处的栏目或者频道。我们有哪些方法来实现它呢,下面我根据我们的实际工作中的经验作了简单的总结。第一种方案,我们可以通过使用背景图片的方式来处理,这也是我们最经常用的方法。1)单个切出三角形,我们可以根据UI设计的需求,切出与之相适应的图片,比如 ,我们能方便的根据需求,制作不同高度和颜色的三角形。在使用方面,HTML代码和CSS代码相对简单。如下面图是示例:这种直接使用背景图片的方法适合我们在三角形包含渐变、纹样、肌理等特殊效果的时候,我们可以设置它的颜色来保证图形边缘与背景色完美一致。缺点是我们需要为每个不同的方向需求制作一个图片,增加了http请求和CSS代码的数量。由于这种方法比较简单,我们就不做演示了.2)相比之前,我们怎么做到减少http请求,同时也标示出四个方向的三角形呢?我们可以制作一个菱形 ,通过使用CSS的背景定位来选择与之相匹配的形状。这样我们就能用一个图形,达到四个图形的目的。123453)方法二种的方法虽然我们可以实现调用一次背景图片标示四种三角状态的情况,但是在颜色方面确实单一的,我们只能由一种颜色,那我们需要增加三角形同样在激发鼠标悬浮伪类响应的时候,我们应该怎么做呢?比如鼠标悬浮的时候由红色变成橙色?那我们就可以使用这种方法,通过正负形的方法,方法二中的方法我们通过一个正形,那下面的例子我们使用一个负形HTML文件123456CSS文件123456789.n_a_1,.n_a_2,.n_a_3,.n_a_4background-image:url(/School/UploadFiles_7810/201106/20110626183045206.gif);background-repeat:no-repeat;position:absolute;display:block;a.n_a_1background-color:#0033CC;background-position:0 0;width:67px;height:34px;top:-34px;left:15pxa.n_a_1:hoverbackground-color:#db0085a.n_a_2background-color:#0066CC;background-position:-33px 0;width:34px;height:67px;right:-34px;top:15px;a.n_a_2:hoverbackground-color:#db0085a.n_a_3background-color:#00CCCC;background-position:0 -33px;width:67px;height:34px;bottom:-34px;left:15px;a.n_a_3:hoverbackground-color:#db0085a.n_a_4background-color:#00FFCC;background-position:0 0;width:34px;height:67px;left:-34px;top:15px;a.n_a_4:hoverbackground-color:#db0085这样子,我们就能很方便的改变背景颜色来获得不同的颜色的三角形了。但是我们也发现了另一个问题,那就是当我们希望把这个三角形放到有颜色的背景时,构成其负形的区域颜色也会成为我们的限制,因为我们必须将构成负形的颜色与之相匹配。而且第二种方法和第三种方法中只能实现固定尺寸的正三角形,如果我们想随时改变它形状的话,不使用css3的背景大小属性background-size话(此属性已经已经被OperafirefoxSafariChromeIE 9),可能下面的方法更适合。第二种方案,我们不是通过图形图片的方式,而是直接使用标签本身的css属性特点或者字符来进行创作.1)我们可以使用border 属性来实现,border属性包括宽度、颜色、样式。我们可以改变它的颜色来适应。通过下图我能就能分析出,border属性相关特点:相关代码:1234567891011121314 我们可以改变border不同方向的颜色来找到我们需要的颜色,我们甚至可以通过border-width的修改,创造不同角度的三角形.是不是上面的通过修改border-width后获得的上面的零件很有意思,可以让我们轻易的节省为创造三角型用掉的那个宝贵的 http请求。巧思无难事,可能有时候你需要的并不是一个等腰的三角型,比如说我们常见到下面这种图形那个不是等腰三角形的图形,我们也能通过改变边框的宽度来得到:12)通过旋转块状标签角度的方法获得,这种方法需要支持css3属性transform的浏览器支持.我们经常需要这样的形式:那我们对这个图形进行分解那我们先来实现上面分解的图形:当我们将旋转后的正方形的背景色色值设置为相交盒形相同的色值时,他们就融为一体了.3)通过字符实现.实现方法与上面的类似,将字符的颜色设置为和希望表现得容器相同的颜色,从而得到一个视觉上的三角形.只是这次我们没有用到CSS3的transform属性,兼容性更好一些。代码如下:12345678910111213141516171819202122232425符号三角!-.wrap_charwidth:150px; height:150px; text-align:center; margin:100px; background:#ccc; position:relative;.a_char,.b_char,.c_char,.d_charfont-size:50px; text-align:center; color:#ccc; position:absolute; z-index:10;line-height:0;line-height:50px;.a_charleft:-4px;bottom:-25px;.b_charleft:-25px; top:-4px;.c_chartop:-25px;right:-4px;.d_charright:-25px; bottom:-5px;案例研究:1)线形的三角形,如下图:这种图形的实现我们经常依赖于图形实现,其实我们可以通过border属性,将两个三角型的叠加就可以获得相应的效果:12345678910111213三角形叠加 这样我们就能获得更漂亮的回复窗口:2)导航状态我们也可以通过border创造的三角形来实现:标签一标签二标签三标签四HTML代码:12345678910111213141516171819标示导航状态#nav_stateheight:20px;#nav_state awidth:80px;display:block;text-align:center;padding:2px;line-height:18px;float:left;background-color:#ccc;margin-right:5px;color:#333;position:relative;text-decoration:none;font-size:12px;#nav_state a spandisplay:none;#nav_state a.current,#nav_state a:hoverbackground-color:#000;color:#fff;#nav_state a.current span,#nav_state a:hover spandisplay:block;width:0;height:0;border-width:8px;border-style:solid;border-color:#000 transparent transparent;position:absolute;top:20px;left:32px;overflow:hidden; 标签一 标签二 标签三 标签四上面我们实现的是固定宽度,那如果是自适应宽度的、箭头朝上的呢? 首页 二级栏目 三级栏目可能会比较长 四级栏目123456789101112131415161718导航箭头朝上标示符#menu_liquidheight:30px;margin:20px; list-style:none;font-size:12px; #menu_liquid liheight:30px;line-height:30px;float:left;white-space:nowrap; #menu_liquid li adisplay:block;float:left;height:30px;position:relative;padding:0 12px;background:#777;color:#fff; text-decoration:none;border-right:1px solid #ccc; #menu_liquid li a spandisplay:none; #menu_liquid li a.current,#menu_liquid li a:hover background:#000;color:#0099FF; #menu_liquid li a.current span,#menu_liquid li a:hover spandisplay:block;width:0;height:0;border-style:solid;border-color: transparent transparent #f0f0f0 transparent;border-width:0 8px 8px;position:absolute;bottom:0;left:50%;margin-left:-4px;overflow:hidden;z-index:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 目视化管理与产品开发考核试卷
- 锑冶炼生产数据分析与应用技巧考核试卷
- 管道工程法律法规政策深度研究与探讨考核试卷
- 铁路轨道电路调试技术考核试卷
- 航空航天器材料与工艺考核试卷
- 新生儿黄疸检测的临床意义
- 肺部真菌感染诊断与治疗进展
- 转运呼吸机操作规范
- 防呼吸道传染病科普讲座
- 视网膜动脉阻塞性疾病
- 糖尿病老年人饮食护理
- 解忧杂货铺ppt读书分享
- 银行对公业务培训课件
- 厦门大学2021年826物理化学考研真题
- 汽修企业安全生产双重预防机制培训资料
- 信息安全、网络安全和隐私保护-信息安全控制风险清单(雷泽佳编制2024A0)
- 农村财会培训课件
- 建筑施工企业特殊过程确认记录
- 2024年A证(安全员)作业模拟考试题库全套
- 简单咨询费合同范本英文版
- 广东省深圳市罗湖区螺岭外国语实验学校小学五年级下册期末语文试题
评论
0/150
提交评论