CSS使用伪选择器制作箭头图标_html/css_WEB-ITnose
程序员文章站
2022-04-10 19:21:23
...
// 使用Transform的属性,组合translate(位移)和rotate(旋转),将生成的小矩形组合成各种箭头样式;
HTML
12 图标变形过渡效果缩放式菜单 34 5 146 #300x100 淡色系 7 891310 11 1215 16 2517 #300x100 暗色系 18 19202421 22 23
CSS
1 * { box-sizing:border-box;} 2 body { font-family: 'microsoft yahei',Arial,sans-serif; background: #aaa;} 3 section { position: relative; width:100%;} 4 section.main { position: absolute; top:10%; left:25%; width:50%; max-width:30em; min-width:15em; border-radius:5px; overflow: hidden;} 5 section.main > header { background: orange; color:#fff; line-height: 1.2em; text-align: center;} 6 section section:last-child { border:none;} 7 section > div { height:0; overflow: hidden; transition:all .4s ease-in-out;} 8 article,header { padding:1em; line-height: 1em;} 9 header:not(.title) { width:100%; overflow: hidden; height:3em; background: #efefef; cursor:pointer; color:#888; white-space:nowrap; text-overflow: ellipsis; padding-right: 2.1em;}10 header:not(.title):hover { background: #e8e8e8;}11 article { line-height: 1.4em; background: rgba(255, 255, 255, .7);}12 article img { width:100%; height:auto; border:2px solid white; border-radius: 3px;}13 14 /* 使用CSS3的伪选择器,生成关闭和向下两个图标按钮; */15 /* 使用变形属性,组合位移和旋转,可将生成的小矩形组合成向下按钮,同样也可以组装成关闭按钮; */16 section button { position: absolute; right:0; margin:0; padding:0; height:3em; width:3em; outline:none; border:0; background: none; text-indent: -9999px; pointer-events:none; cursor:pointer;}17 section button:before, 18 section button:after { content:''; display: block; position: absolute; width:4px; height:12px; background: orange; border-radius: .3em; top:50%; left:50%; transition:all .3s ease-in-out;}19 20 /*向左箭头*/21 /*section button:before { transform:translate(0%, -50%) rotate(45deg);} 22 section button:after { transform:translate(0%, 0%) rotate(-45deg);}*/23 24 /*向右箭头*/25 /*section button:before { transform:translate(0%, -50%) rotate(-45deg);} 26 section button:after { transform:translate(0%, 0%) rotate(45deg);}*/27 28 /*向上箭头*/29 /*section button:before { transform:translate(75%, -20%) rotate(-45deg);} 30 section button:after { transform:translate(-75%, -20%) rotate(45deg);}*/31 32 /*向下箭头*/33 section button:before { transform:translate(75%, 0%) rotate(45deg);} 34 section button:after { transform:translate(-75%, 0%) rotate(-45deg);}35 36 37 /* 点击之后需要变成"X"; */38 section.open button:after,section.open button:before { background: red; height:14px; }39 section.open button:before { transform:translate(-75%, -20%) rotate(45deg);}40 section.open button:after { transform:translate(-75%, -20%) rotate(-45deg);}
JavaScript
1 $(function(){ 2 $('section section header').on('click', function () { 3 var $this = $(this), 4 parent_section = $this.parent(), 5 closeDiv = $this.siblings('div'), 6 contentheight = closeDiv.children('article').outerHeight(); 7 (closeDiv.height() === 0 ) ? closeDiv.height(contentheight) : closeDiv.height(0); 8 // 更改容器高度; 9 $this.parents('section').first().toggleClass('open');10 // 更改箭头样式;11 });12 });
推荐阅读
-
css3中关于伪类的使用_html/css_WEB-ITnose
-
学习使用 CSS3 制作网站面包屑导航效果_html/css_WEB-ITnose
-
使用CSS制作Heart动画_html/css_WEB-ITnose
-
使用Axure RP原型设计实践03,制作一个登录界面的原型_html/css_WEB-ITnose
-
把UI图里的小图标制作成icon font_html/css_WEB-ITnose
-
使用Axure RP原型设计实践03,制作一个登录界面的原型_html/css_WEB-ITnose
-
使用 CSS & jQuery 制作一款漂亮的多彩时钟_html/css_WEB-ITnose
-
把UI图里的小图标制作成icon font_html/css_WEB-ITnose
-
【译】谨慎使用CSS中的波浪选择器_html/css_WEB-ITnose
-
CSS3选择器(基础选择器、属性选择器、伪类选择器、选择器策略)_html/css_WEB-ITnose