CSS新闻向上滚动代码
- 格式:doc
- 大小:17.50 KB
- 文档页数:3
JQ实现新闻滚动条效果(跑马灯)先看效果:HTML代码<div class="outer" id="outer"><h3>最新公告</h3><div class="inner" id="inner"><ul><li><a href="#" title="">星期⼀不上班</a></li><li><a href="#" title="">星期⼆不上班</a></li><li><a href="#" title="">星期三不上班</a></li><li><a href="#" title="">星期四不上班</a></li><li><a href="#" title="">星期五不上班</a></li><li><a href="#" title="">星期六发⼯资</a></li><li><a href="#" title="">星期天发奖⾦</a></li></ul></div></div>View CodeCss代码.outer{width:200px;border:1px solid #AAAAAA;margin:10px;}.inner{width:200px; height:85px;line-height:20px;overflow:hidden; background:#FFFFFF;}h3{height:26px;background:#3B5998;color:white;line-height:26px;text-indent:6px;margin:0px;}.inner li{height:21px;}.inner ul{margin:0px;list-style:decimal;}.inner li a{text-decoration:none;color:#3B5998;}View Codejq代码⽅式⼀原理:slideUp()--clone()--append()--remove()--传递参数-闭包1 $(function (){2 show(); //⾸次触发3var target=$("#inner");4var Timer;5 Timer=setInterval(show,7100); //七秒之后再调⽤ setInterval67 })89function show(){10var obj= $("ul li");11var len=obj.length;12for(var i=0;i<len;i++){13 setTimeout((function(para){14return function (){15 obj.eq(para).slideUp("slow",function (){ //隐藏16var li=$(this).clone(); //先克隆17 $(this).parent().append(li.show()); //显⽰的附加在后⾯18 $(this).remove(); //再移除这个节点19 });20 }21 })(i),1000*i)22 }2324 }View Code缺陷:⽆法应⽤到我们的hover中滴呀jq代码⽅式⼆原理,不需要传递参数,也就不⽤闭包,⽽且⽀持hover,不错是⾸选;1var target=$("#inner");2var Timer;3 target.hover(function (){4 clearInterval(Timer);5 },function (){6 Timer=setInterval(function (){7 show2(target);8 },3000)9 }).trigger("mouseleave");10 })1112function show2(obj){13var ul=obj.find("ul:first");14var liHeight=ul.find("li:first").height();//获取⾏⾼;15 ul.animate({"marginTop":-liHeight+"px"},700,function (){ //整个ul向上移动⼀个li⾼度16 ul.css({marginTop:0}).find("li:first").appendTo(ul);//直接移动到的最后⼀位;1718 })19 }View Code总结:完美。
1. 文字来回滚动:代码:<MARQUEE scrollAmount=3 behavior=alternate>文字来回滚动</MARQUEE>2. 向右移动的竖排文字:代码:<MARQUEE style="LINE-HEIGHT: 120%; WRITING-MODE: tb-rl" scrollAmount=3scrollDelay=0 direction=up width=200 height=150><P align=left>向右移动的竖排文字</SPAN><BR>向右移动的竖排文字<BR> 向右移动的竖排文字<BR>向右移动的竖排文字</P></MARQUEE>3. 向上移动的文字:代码:<MARQUEE style="WIDTH: 250px; HEIGHT: 100px" scrollAmount=3 direction=up>向上移动的文字<BR>向上移动的文字</MARQUEE>4. 向下移动的文字:代码:<MARQUEE style="WIDTH: 250px; HEIGHT: 100px" scrollAmount=3 dir ection=down>向下移动的文字<BR>向下移动的文字</MARQUEE>5. 从右向左滚动:代码:<MARQUEE scrollAmount=2>从右向左滚动</MARQUEE>6. 从左向右滚动:代码:<MARQUEE scrollAmount=2 direction=right>从左向右滚动</MARQUEE>7. 上下反弹:代码:<MARQUEE style="WIDTH: 708px; HEIGHT: 150px" scrollAmount=2 direction=upbehavior=alternate>上下反弹</MARQUEE>8. 从左向右文字波浪式移动:代码:<MARQUEE style="WIDTH: 80%; HEIGHT: 100px" scrollAmount=2 direction=upbehavior=alternate width="80%"><MARQUEE direction=right>从左向右文字波浪式移动</MARQUEE></MARQUEE>9. 文字来回波浪式移动:代码:<MARQUEE style="WIDTH: 80%; HEIGHT: 100px" scrollAmount=2 direction=upbehavior=alternate width="80%"><MARQUEE direction=right behavior=alternate>文字来回波浪式移动</MARQUEE></MARQUEE>10. 躲躲字,跑给你追:代码:<MARQUEE behavior=alternate><MARQUEE scrollAmount=5 width=150>躲躲字,跑给你追</MARQUEE></MARQUEE>11. 原地跳动的文字:代码:<MARQUEE direction=up behavior=alternate width=60 height=120>祝</MARQUEE> <MARQUEE direction=up behavior=alternate width=60 height=80>大</MARQUEE><MARQUEE direction=up behavior=alternate width=60 height=120>家</MARQUEE> <MARQUEE direction=up behavior=alternate width=60 height=80>永</MARQUEE><MARQUEE direction=up behavior=alternate width=60 height=120>远</MARQUEE> <MARQUEE direction=up behavior=alternate width=60 height=80>幸</MARQUEE> <MARQUEE direction=up behavior=alternate width=60 height=120>福</MARQUEE>12. 波浪字:代码:<MARQUEE style="FILTER: wave(add=0,phase=1, freq=1,strength=15,color=.FFFFFF)"scrollAmount=2 scrollDelay=65 direction=up behavior=alternate height=80><CENTER>波浪字<BR>波浪字</CENTER></MARQUEE>13. 由中间向两边移动的文字:代码:<P align=center><MARQUEE width=200 height=50><FONT face=华文彩云color=#ee110e size=5>闲人SGM欢迎您</FONT></MARQUEE><MARQUEE direction=right width=200 height=50><FONT face=华文彩云color=#ee110esize=5>闲人SGM欢迎您</FONT></MARQUEE></P>14. 由上下向中间移动的字体:代码:<CENTER><MARQUEE style="WIDTH: 300px; HEIGHT: 60px" scrollAmount=2 direction=downheight=60><FONT face=隶书color=#ff0000 size=5>闲人SGM欢迎您</FONT></MARQUEE></CENTER><CENTER><MARQUEE style="WIDTH: 300px; HEIGHT: 60px" scrollAmount=2 direction=upheight=60><FONT face=隶书color=#ff0000 size=5>闲人SGM欢迎您</FONT></MARQUEE></CENTER>15. 左右运动的文字:代码:<CENTER><MARQUEE direction=right width=250 height=50><FONT color=#ff0000 size=5>闲人SGM欢迎您</FONT></MARQUEE><BR><MARQUEE width=250 height=50><FONT face=隶书color=#ff0000 size=5>闲人SGM欢迎您</FONT></MARQUEE></CENTER>注: 各参数详解a)scrollAmount。
CSS实现导航固定的、左右滑动的滚动条制作⽅法如上效果的导航,导航是固定在顶部的,可以左右滑动点击更多选项的。
这种制作相当简单,本⽂只是提⼏点注意:固定位置菜单固定在顶部不动,使⽤ position:fixed; top:0; left:0;。
同时要注意:下⾯列表下移相应的位置,否则打开页⾯时,下⽅列表会被遮住⼀部分。
为菜单设置背景,否则透明的话,与下⾯列表滚动上来的内容会重叠显⽰。
为 body 设置背景,因为微信浏览器默认有个背景⾊(不是⽩⾊),可能会与我们的效果冲突,按需设置背景。
使⽤ table通常我们使⽤ ul、li 作 float,但是当⼀⾏显⽰不下时,要让它不落到第⼆⾏的话,⽐较⿇烦,所以我们推荐使⽤ table。
以下是整个 CSS 代码,其中 .wrapper 是外层,.nav、.list 是兄弟。
body, .wrapper{background:#fff;}.nav{position:fixed;top:0;left:0; padding:0;width:100%;height:60px;overflow-x:scroll;background:#fff;}.nav table{width:720px;border-collapse:collapse;}.nav table td{padding-top:10px;padding-bottom:10px;width:80px;text-align:center;}.nav table td a{line-height:40px;font-size:14px;font-weight:bold;}.nav table td.cur a{box-sizing:border-box;border-bottom:2px solid #f07515; color:#f07515;}.list{margin-top:60px;}动态限定宽度上⾯ CSS 代码为 table 设置了 720px,即 9 个 td 的宽度,通常我们菜单数量是固定的,所以直接这么设置,但是如果不固定的话,可以利⽤程序来动态设置,⽐如 JavaScript 设置⽅法:$(".header table").width($(".header table td").length * $(".header table td").width());选中后⾯的菜单项时,显⽰后⾯的菜单项对于⾮ Ajax 页⾯,点击后⾯的菜单页时,页⾯刷新,然后显⽰最左边的⼏个菜单项,我们可以利⽤ JavaScript 滚动菜单项,使当前选中项显⽰出来,⽰例代码如下:var count = 0;$(".header table td").each(function () {if ($(this).hasClass("cur")) {return false;}count++;});if (count >= 3) { // 选中前⾯⼏个时不滚动count -= 2; // 不必滚到最左边$(".header").get(0).scrollLeft = count * $(".header table td").width();}总结到此这篇关于CSS实现导航固定的、左右滑动的滚动条制作⽅法的⽂章就介绍到这了,更多相关css 导航固定左右滑动滚动条内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!。
字体属性:(font)大小 {font-size: *-large;}(特大) **-small;(极小) 一般中文用不到,只要用数值就可以,单位:P*、PD样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)行高 {line-height: normal;}(正常) 单位:P*、PD、EM粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常)变体 {font-variant: small-caps;}(小型大写字母) normal;(正常)大小写{te*t-transform: capitalize;}(首字母大写) uppercase;(大写) lowercase;(小写)none;(无)修饰{te*t-decoration: underline;}(下划线) overline;(上划线) line-through;(删除线)blink;(闪烁)常用字体: (font-family)"Courier New", Courier, monospace, "Times New Roman", Times, serif, Arial,Helvetica, sans-serif, Verdana背景属性: (background)色彩 {background-color: #FFFFFF;}图片 {background-image: url();}重复 {background-repeat: no-repeat;}滚动 {background-attachment: fi*ed;}(固定) scroll;(滚动)位置 {background-position: left;}(水平) top(垂直);简写方法 {background:#000 url(..) repeat fi*ed left top;} /*简写·这个在阅读代码中经常出现,要认真的研究*/区块属性: (Block) /*这个属性第一次认识,要多多研究*/字间距 {letter-spacing: normal;} 数值 /*这个属性似乎有用,多实践下*/ 对齐 {te*t-align: justify;}(两端对齐) left;(左对齐) right;(右对齐)center;(居中)缩进 {te*t-indent: 数值p*;}垂直对齐 {vertical-align: baseline;}(基线) sub;(下标) super;(下标) top; te*t-top;middle; bottom; te*t-bottom;词间距word-spacing: normal; 数值空格white-space: pre;(保存) nowrap;(不换行)显示 {display:block;}(块) inline;(嵌) list-item;(列表项) run-in;(追加局部)pact;(紧凑) marker;(标记) table; inline-table; table-raw-group; table-header-group; table-footer-group; table-raw; table-column-group; table-column; table-cell;table-caption;(表格标题) /*display 属性的了解很模糊*/方框属性: (Bo*)width:; height:; float:; clear:both; margin:; padding:; 顺序:上右下左边框属性: (Border)border-style: dotted;(点线) dashed;(虚线) solid〔实线〕; double;(双线) groove;(槽线)ridge;(脊状) inset;(凹陷) outset;border-width:; 边框宽度border-color:#;简写方法border:width style color; /*简写*/列表属性: (List-style)类型list-style-type: disc;(圆点) circle;(圆圈) square;(方块) decimal;(数字)lower-roman;(小罗码数字) upper-roman; lower-alpha; upper-alpha;位置list-style-position: outside;(外) inside;图像list-style-image: url(..);定位属性: (Position)Position: absolute; relative; static;visibility: inherit; visible; hidden;overflow: visible; hidden; scroll; auto;clip: rect(12p*,auto,12p*,auto) (裁切)css属性代码大全一 CSS文字属性:color : #999999; /*文字颜色*/font-family : 宋体,sans-serif; /*文字字体*/font-size : 9pt; /*文字大小*/font-style:itelic; /*文字斜体*/font-variant:small-caps; /*小字体*/letter-spacing : 1pt; /*字间距离*/line-height : 200%; /*设置行高*/font-weight:bold; /*文字粗体*/vertical-align:sub; /*下标字*/vertical-align:super; /*上标字*/te*t-decoration:line-through; /*加删除线*/te*t-decoration: overline; /*加顶线*/te*t-decoration:underline; /*加下划线*/te*t-decoration:none; /*删除下划线*/te*t-transform : capitalize; /*首字大写*/te*t-transform : uppercase; /*英文大写*/te*t-transform : lowercase; /*英文小写*/te*t-align:right; /*文字右对齐*/te*t-align:left; /*文字左对齐*/te*t-align:center; /*文字居中对齐*/te*t-align:justify; /*文字分散对齐*/vertical-align属性vertical-align:top; /*垂直向上对齐*/vertical-align:bottom; /*垂直向下对齐*/vertical-align:middle; /*垂直居中对齐*/vertical-align:te*t-top; /*文字垂直向上对齐*/ vertical-align:te*t-bottom; /*文字垂直向下对齐*/ 二、CSS边框空白padding-top:10p*; /*上边框留空白*/padding-right:10p*; /*右边框留空白*/padding-bottom:10p*; /*下边框留空白*/padding-left:10p*; /*左边框留空白三、CSS符号属性:list-style-type:none; /*不编号*/list-style-type:decimal; /*阿拉伯数字*/list-style-type:lower-roman; /*小写罗马数字*/list-style-type:upper-roman; /*大写罗马数字*/list-style-type:lower-alpha; /*小写英文字母*/list-style-type:upper-alpha; /*大写英文字母*/list-style-type:disc; /*实心圆形符号*/list-style-type:circle; /*空心圆形符号*/list-style-type:square; /*实心方形符号*/list-style-image:url(/dot.gif); /*图片式符号*/list-style-position: outside; /*凸排*/list-style-position:inside; /*缩进*/四、CSS背景样式:background-color:#F5E2EC; /*背景颜色*/background:transparent; /*透视背景*/background-image : url(/image/bg.gif); /*背景图片*/ background-attachment : fi*ed; /*浮水印固定背景*/ background-repeat : repeat; /*重复排列-网页默认*/ background-repeat : no-repeat; /*不重复排列*/ background-repeat : repeat-*; /*在*轴重复排列*/ background-repeat : repeat-y; /*在y轴重复排列*/指定背景位置background-position : 90% 90%; /*背景图片*与y轴的位置*/ background-position : top; /*向上对齐*/background-position : buttom; /*向下对齐*/background-position : left; /*向左对齐*/background-position : right; /*向右对齐*/background-position : center; /*居中对齐*/五、CSS连接属性:a /*所有超*/a:link /*超文字格式*/a:visited /*浏览过的文字格式*/a:active /*按下的格式*/a:hover /*鼠标转到*/鼠标光标样式:手指 CURSOR: hand十字体 cursor:crosshair箭头朝下 cursor:s-resize十字箭头 cursor:move箭头朝右 cursor:move加一问号 cursor:help箭头朝左 cursor:w-resize箭头朝上 cursor:n-resize箭头朝右上 cursor:ne-resize箭头朝左上 cursor:nw-resize文字I型 cursor:te*t箭头斜右下 cursor:se-resize箭头斜左下 cursor:sw-resize漏斗 cursor:wait光标图案(IE6) p {cursor:url("光标文件名.cur"),te*t;} 六、CSS框线一览表:border-top : 1p* solid #6699cc; /*上框线*/border-bottom : 1p* solid #6699cc; /*下框线*/border-left : 1p* solid #6699cc; /*左框线*/border-right : 1p* solid #6699cc; /*右框线*/以上是建议书写方式,但也可以使用常规的方式如下:border-top-color : #369 /*设置上框线top颜色*/border-top-width :1p* /*设置上框线top宽度*/border-top-style : solid/*设置上框线top样式*/其他框线样式solid /*实线框*/dotted /*虚线框*/double /*双线框*/groove /*立体凸框*/ridge /*立体浮雕框*/inset /*凹框*/outset /*凸框*/七、CSS表单运用:文字方块按钮复选框选择钮多行文字方块下拉式菜单选项1选项2八、CSS边界样式:margin-top:10p*; /*上边界*/margin-right:10p*; /*右边界值*/margin-bottom:10p*; /*下边界值*/margin-left:10p*; /*左边界值*/CSS 属性:字体样式(Font Style)序号中文说明标记语法1 字体样式{font:font-style font-variant font-weight font-size font-family}2 字体类型 {font-family:"字体1","字体2","字体3",...}3 字体大小 {font-size:数值|inherit| medium| large| larger| *-large| **-large|small| smaller| *-small| **-small}4 字体风格 {font-style:inherit|italic|normal|oblique}5 字体粗细 {font-weight:100-900|bold|bolder|lighter|normal;}6 字体颜色 {color:数值;}7 阴影颜色 {te*t-shadow:16位色值}8 字体行高 {line-height:数值|inherit|normal;}9 字间距 {letter-spacing:数值|inherit|normal}10 单词间距 {word-spacing:数值|inherit|normal}11 字体变形 {font-variant:inherit|normal|small-cps }12 英文转换{te*t-transform:inherit|none|capitalize|uppercase|lowercase}13 字体变形 {font-size-adjust:inherit|none}14 字体 {font-stretch:condensed|e*panded|e*tra-condensed|e*tra-e*panded|inherit|narrower|normal| semi-condensed|semi-e*panded|ultra-condensed|ultra-e*panded|wider}文本样式(Te*t Style)序号中文说明标记语法1 行间距 {line-height:数值|inherit|normal;}2 文本修饰{te*t-decoration:inherit|none|underline|overline|line-through|blink}3 段首空格 {te*t-indent:数值|inherit}4 水平对齐 {te*t-align:left|right|center|justify}5 垂直对齐 {vertical-align:inherit|top|bottom|te*t-top|te*t-bottom|baseline|middle|sub|super}6 书写方式 {writing-mode:lr-tb|tb-rl}背景样式序号中文说明标记语法1 背景颜色 {background-color:数值}2 背景图片 {background-image: url(URL)|none}3 背景重复{background-repeat:inherit|no-repeat|repeat|repeat-*|repeat-y}4 背景固定 {background-attachment:fi*ed|scroll}5 背景定位 {background-position:数值|top|bottom|left|right|center}6 背影样式 {background:背景颜色|背景图象|背景重复|背景附件|背景位置} 框架样式(Bo* Style)序号中文说明标记语法1 边界留白 {margin:margin-top margin-right margin-bottom margin-left}2 补白{padding:padding-top padding-right padding-bottom padding-left}3 边框宽度{border-width:border-top-width border-right-width border-bottom-widthborder-left-width}宽度值: thin|medium|thick|数值4 边框颜色 {border-color:数值数值数值数值} 数值:分别代表top、right、bottom、left颜色值5 边框风格 {border-style:none|hidden|inherit|dashed|solid|double|inset|outset|ridge|groo ve}6 边框 {border:border-width border-style color}上边框 {border-top:border-top-width border-style color}右边框 {border-right:border-right-width border-style color}下边框 {border-bottom:border-bottom-width border-style color} 左边框 {border-left:border-left-width border-style color}7 宽度 {width:长度|百分比| auto}8 高度 {height:数值|auto}9 漂浮 {float:left|right|none}10 清除 {clear:none|left|right|both}分类列表序号中文说明标记语法1 控制显示 {display:none|block|inline|list-item}2 控制空白 {white-space:normal|pre|nowarp}3 符号列表{list-style-type:disc|circle|square|decimal|lower-roman|upper-roman|lower-alpha|upper-alpha|none}4 图形列表 {list-style-image:URL}5 位置列表 {list-style-position:inside|outside}6 目录列表 {list-style:目录样式类型|目录样式位置|url}7 鼠标形状{cursor:hand|crosshair|te*t|wait|move|help|e-resize|nw-resize|w-resize|s-resize|se-resize|sw-resize}CSS属性大全[背景]属性共有六项:「背景颜色」〔background-color〕,设置背景颜色。
CSS实现隐藏滚动条并可以滚动内容效果(三种⽅式)隐藏滚动条的同时还需要⽀持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加⼀个iscroll插件,但其实现在CSS也可以实现这个功能,我已经在很多地⽅使⽤了,下⾯⼀起看看这三种⽅法。
⽅法1:计算滚动条宽度并隐藏起来在本站的侧栏,你可以看到前端⽇报的那块内容并没有滚动条,但⿏标移上去却可以滚动内容。
这是什么技术呢?其实我只是把滚动条通过定位把它隐藏了起来。
演⽰下⾯给⼀个简化版的代码·<div class="outer-container"><div class="inner-container">......</div></div>.outer-container{width: 360px;height: 200px;position: relative;overflow: hidden;}.inner-container{position: absolute;left: 0;top: 0;right: -17px;bottom: 0;overflow-x: hidden;overflow-y: scroll;}这个代码巧妙的向右移动了17个像素,刚好等于滚动条的宽度。
这个值是我⼿动调试得来的。
在chrome和IE没发现问题。
⽅法2:使⽤三个容器包围起来,不需要计算滚动条的宽度该代码最早是在Microsoft博客上看到的,跟我上⾯的思路差不多,只不过⼈家⾥⾯⼜加多了⼀个盒⼦,将内容限制在盒⼦⾥⾯了。
这样⼦就看不到滚动条同时也可以滚动。
代码如下:<div class="outer-container"><div class="inner-container"><div class="content">......</div></div></div>//code from /hide-scrollbar.html.element, .outer-container {width: 200px;height: 200px;}.outer-container {border: 5px solid purple;position: relative;overflow: hidden;}.inner-container {position: absolute;left: 0;overflow-x: hidden;overflow-y: scroll;}.inner-container::-webkit-scrollbar {display: none;}⽅法3:css隐藏滚动条同时该⽂章还分享了⼀种通过CSS隐藏滚动条的⽅法,不过这个⽅法不兼容IE,做移动端的可以使⽤。
纯CSS实现的三种通知栏滚动效果前⾔通知栏组件是⼀个⽐较常见的组件了,基本上每个站点都会有怎么个组件,主要就是通告站点的⼀些变化或者是告知⼀些中奖名单等作⽤。
最近在复习CSS3动画部分内容,想着平时通知栏组件⼤部分还是⽤JS来实现,正好拿这块组件来当复习,下⾯写了三个⼩例⼦在此分享,欢迎⼤家观看,如有疑问,欢迎留⾔评论哈。
第⼀种HTML部分<div class="notice"><div class="notice__inner"><div class="notice__box"><div class="notice__item">恭喜会员⽤户 <span style="color: red;">橙某⼈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">⼩密圈圈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">Cooke_</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">爱⾳乐⽹站</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">青年之声</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">仙⼈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">三⼗万⼈编号</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">Maboroshii</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">陈亚明</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">⽼娘终于发达了</span> 中奖</div></div><div class="notice__box"><div class="notice__item">恭喜会员⽤户 <span style="color: red;">橙某⼈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">⼩密圈圈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">Cooke_</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">爱⾳乐⽹站</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">青年之声</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">仙⼈</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">三⼗万⼈编号</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">Maboroshii</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">陈亚明</span> 中奖</div><div class="notice__item">恭喜会员⽤户 <span style="color: red;">⽼娘终于发达了</span> 中奖</div></div></div></div>CSS部分.notice{width: 300px;height: 300px;border-radius: 8px;border: 1px solid #eee;margin: 100px auto;}.notice__inner{width: 100%;height: 100%;overflow: hidden;font-size: 14px;color: #666;}.notice__box{animation: roll 10s linear infinite;}.notice__item{width: 100%;height: 30px;line-height: 30px;padding: 0 12px;white-space: nowrap;}@keyframes roll {0% {transform: translateY(0);}100% {transform: translateY(-300px);}}视⼝容器⾼度需要固定,超出视⼝容器隐藏内容;为了营造出⽆缝滚动回来,内容需要准备两份,彼此紧随;通过移动内层translateY实现滚动效果;在第⼀份内容完全滚出视⼝容器的⼀瞬间,⽴刻将内容位置进⾏复原;通过infinite来循环此过程;第⼆种HTML部分<div class="notice"><div class="notice__inner"><div class="notice__item">HTTP升级HTTPS全过程,Nginx配置平滑升级</div><div class="notice__item">⼀台电脑存在多个版本的Vuecli,⽅便快速初始化不同版本的Vue项⽬</div> <div class="notice__item">前端模块化规范定义-不同规范下的导⼊导出</div><div class="notice__item">快速、简洁讲明Vue中v-for循环key的作⽤</div><div class="notice__item">Call与Apply函数的分析及⼿写实现</div><div class="notice__item">普通切图仔的⼀年 | 掘⾦年度征⽂</div><div class="notice__item">前端需要了解的浏览器缓存(即HTTP缓存)| 技术专题第⼋期征⽂</div> </div></div>CSS部分.notice{width: 600px;height: 40px;border-radius: 8px;border: 1px solid #eee;margin: 100px auto;overflow: hidden;}.notice__inner{animation: roll 36s linear infinite;margin-top: 0}.notice__item{font-size: 14px;height: 40px;line-height: 40px;padding: 0 12px;white-space: nowrap;text-decoration: underline;}@keyframes roll {0% {margin-top: 0;}4% {margin-top: 0;}8% {margin-top: 0;}12% {margin-top: -40px;}16% {margin-top: -40px;}20% {margin-top: -80px;}24% {margin-top: -80px;}28% {margin-top: -120px;}32% {margin-top: -120px;}36% {margin-top: -160px;}40% {margin-top: -160px;}44% {margin-top: -200px;}48% {margin-top: -200px;}52% {margin-top: -240px;}56% {margin-top: -240px;}60% {margin-top: -200px;}64% {margin-top: -200px;}68% {margin-top: -160px;}72% {margin-top: -160px;}76% {margin-top: -120px;}80% {margin-top: -120px;}84% {margin-top: -80px;}88% {margin-top: -80px;}92% {margin-top: -40px;}96% {margin-top: -40px;}100% {margin-top: 0;}}(gif录制可能稍微短了⼀点,建议动⼿试试看哦)这种轮播的形式是⽐较常见的⼀种,也是⽐较实⽤完善简单的⼀种,随便提⼀句在微信⼩程序上⽤swiper组件去实现⽐较简单快捷(不要问我怎么知道的-.-)。
使⽤CSS设置滚动条样式以及如何去掉滚动条的⽅法<STYLE>BODY {SCROLLBAR-FACE-COLOR: #f892cc;SCROLLBAR-HIGHLIGHT-COLOR: #f256c6;SCROLLBAR-SHADOW-COLOR: #fd76c2;SCROLLBAR-3DLIGHT-COLOR: #fd76c2;SCROLLBAR-ARROW-COLOR: #fd76c2;SCROLLBAR-TRACK-COLOR: #fd76c2;SCROLLBAR-DARKSHADOW-COLOR: #f629b9;SCROLLBAR-BASE-COLOR: #e9cfe0}</STYLE>SCROLLBAR-FACE-COLOR: 滚动条凸出部分的颜⾊SCROLLBAR-HIGHLIGHT-COLOR: 滚动条空⽩部分的颜⾊SCROLLBAR-SHADOW-COLOR: ⽴体滚动条阴影的颜⾊SCROLLBAR-3DLIGHT-COLOR: 滚动条亮边的颜⾊SCROLLBAR-ARROW-COLOR: 上下按钮上三⾓箭头的颜⾊SCROLLBAR-TRACK-COLOR: 滚动条的背景颜⾊SCROLLBAR-DARKSHADOW-COLOR: 滚动条强阴影的颜⾊SCROLLBAR-BASE-COLOR: 滚动条的基本颜⾊没有⽔平滚动条:<div style="overflow-x:hidden">test</div>没有垂直滚动条<div style="overflow-y:hidden">test</div>没有滚动条<div style="overflow-x:hidden;overflow-y:hidden" 或style="overflow:hidden">test</div>⾃动显⽰滚动条<divstyle="height:100px;width:100px;overflow:auto;">test</div>⽹页中去掉滚动条:去掉横向滚动条:<body style='overflow:scroll;overflow-x:hidden'>去掉竖向滚动条:<body style='overflow:scroll;overflow-y:hidden'>两个都去掉:<body scroll="no">框加中去滚动条在name=""后⾯加 scrolling="No"1,Overflow内容溢出时的设置overflow ⽔平及垂直⽅向内容溢出时的设置overflow-x ⽔平⽅向内容溢出时的设置overflow-y 垂直⽅向内容溢出时的设置以上三个属性设置的值为visible、scroll、hidden、autovisible 默认值。
学习情景四图片(文字)无缝滚动4.1任务目标4.1.1任务引入滚动效果,是网页中很常见,用途也很广的一种效果。
就是HTML自带的标签也有专门表示滚动的标签<marquee>。
Marquee标签可以很轻松的实现页面中的文字或者图片的滚动。
如下:但是,marquee标签有个致命的缺陷--滚动中会有空白出现。
这些空白,会让网页的界面效果大打折扣。
如果能让滚动的时候没有空白,那么整个页面效果就舒服多了!这种没有空白的滚动,我们通常称之“无缝滚动”――就是“没有缝隙(空白)的滚动效果”。
怎么才能让图片滚动的时候没有空白呢?HTML自带的滚动标签<marquee>自然满足不了这种视觉特效要求(也正是因为这点,marquee标签现在已经逐渐的淡出人们的视线,处于被淘汰的境地了)。
因此,需要借助我们神通广大的Javascript来实现这个效果。
现在很多网站都喜欢使用无缝滚动的图片或者文字来突出内容,以此来吸引浏览者的注意。
特别是一些企业网站的产品展示、人物介绍或者新闻公告部分,更是滚动特效的常用部分。
图4.1.1-1 某网站的产品展示部分――该部分就是用js实现了产品图片的水平滚动。
图4.1.1-2 某网站的客户动态部分――该部分用js实现了客户信息的垂直向上滚动。
4.1.2任务目标利用js效果,实现如下样式的新闻动态向上无缝滚动。
图 4.1.2-1 新闻动态无缝滚动效果图4.2设计思路任何网站网页都是从效果图切片后,再通过各种方式布局而成(现在主要使用div+css)。
一个特效做的再好看,它的“前身”还是一张静静的效果图。
(本例效果图见源码中“学习情景四无缝滚动”――“无缝滚动效果图.jpg”,并附有psd源文件以供参考切片)因此,我们在制作绚丽的JS特效的先前步骤一般是:1.根据策划和页面的效果图,完成效果图的切片,做成静态html页面――这里采用时下流行的div+css布局。
2.在html静态页面的基础之上,再添加JS代码,完成特效。
⽤CSS3实现⽆限循环的⽆缝滚动导语:在页⾯中循环展⽰信息的功能之前⼀般是⽤js来实现的,那么⽤CSS3该如何实现实现呢有时候在页⾯的某个模块中,需要⽆限循环的滚动⼀些消息。
那么如果我们⽤js实现⽆缝衔接滚动的思路是什么呢(⽐如我们这个模块是向上滚动的)?1. 克隆A⼀份完全⼀样的数据B放在原数据A的后⾯;2. 使⽤setInterval向上滚动A的⽗级容器;3. 当向上滚动的距离L正好的A的⾼度时(L==A.height()),L=0,重新开始滚动,⽆限循环。
克隆⼀份数据放在后⾯,是为了当A向上移动时,后⾯有数据能填补漏出来的空⽩。
当B移动到可视区域的顶部时,此时A刚好移出可视区域,那么此时将容器重新归0,⽤户是没有感知的,以为还是B中的第⼀条数据。
然后继续向上滚动。
1. 使⽤CSS3来实现若要⽤CSS3的属性实现的话,⾮animation莫属,因为transition是需要⼿动的触发,⽽且不能⽆限次执⾏下去,⽽animation恰好能解决这个问题。
假如数据是在写死的情况下时,我们完全可以⼿动复制⼀份数据放在后⾯,然后把原数据的⾼度写到css中,实现的思路与上⾯的⼀样:CSS:@keyframes rowup {0% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}100% {-webkit-transform: translate3d(0, -307px, 0);transform: translate3d(0, -307px, 0);}}.list{width: 300px;border: 1px solid #999;margin: 20px auto;position: relative;height: 200px;overflow: hidden;}.list .rowup{-webkit-animation: 10s rowup linear infinite normal;animation: 10s rowup linear infinite normal;position: relative;}HTML:<div class="list"><div class="cc rowup"><div class="item">1- 121233fffffr国家认可更健康进⼝价格困扰</div><div class="item">2- 3123233</div><div class="item">3- 个⼈⼝结构俄跨⼊国际科技馆客⼈感觉</div><div class="item">4- ggrgerg</div><div class="item">5- fvdgdv</div><div class="item">6- 德国南部巴⼠与卡车相撞起⽕ 31⼈受伤11⼈死亡朴槿惠庭审时突然昏迷⽀持者:她死了法官要负责!</div><div class="item">7- 外交部再次回应印军越界:要求⽴即将越界部队撤回</div><div class="item">8- 德国⽹红致信默克尔</div><div class="item">9- 国资委原</div><div class="item">1- 121233fffffr国家认可更健康进⼝价格困扰</div><div class="item">2- 3123233</div><div class="item">3- 个⼈⼝结构俄跨⼊国际科技馆客⼈感觉</div><div class="item">4- ggrgerg</div><div class="item">5- fvdgdv</div><div class="item">6- 德国南部巴⼠与卡车相撞起⽕ 31⼈受伤11⼈死亡朴槿惠庭审时突然昏迷⽀持者:她死了法官要负责!</div><div class="item">7- 外交部再次回应印军越界:要求⽴即将越界部队撤回</div><div class="item">8- 德国⽹红致信默克尔</div><div class="item">9- 国资委原</div></div></div>2. 数据不确定时在上⾯的⼩节中,数据是死的,⾼度也是写死到了CSS3中。
CSS3实现列表⽆限滚动轮播效果效果预览思路将当前列表滚动⾄最后⼀项的末尾,然后瞬间切换回第⼀项问题点1.⽤什么⽅式实现⽆限轮播这个问题就是列表滚动到最后时底部会留⽩(有多余空间)如何处理?在列表的最后添加列表开头的重复项即可(如图中的10后⾯出现的1,2,3,4,5既为重复项)。
重复项添加的数⽬要根据当前列表的⾼度和列表项的⾼度⼀起确定,例如:列表⾼度150px,列表项⾼度30px,则需要在当前列表尾部添加150 / 30 = 5项重复项才可以去除留⽩。
2.如何让⽤户⽆感知的切换回第⼀项添加好重复项之后控制好切换时机,当列表滚动到最后⼀项的末尾(重复项第⼀项的开头)时,⽴即进⾏切换。
例如:列表项共10项,则让列表向上移动到10 * 30px = 300px时⽴即进⾏切换即可实现⽆感知切换代码<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>列表⽆限滚动</title></head><style>.container {position: relative;background-color: #a4ffcc;/* ⽗容器需要有明确的⾼度 */height: 150px;width: 200px;margin: auto;overflow: hidden;}.container > .scroll-list {position: absolute;top: 0;left: 0;width: 100%;animation: scroll 6s linear infinite normal;}.container > .scroll-list > div {width: 100%;/* 滚动的项⽬需要有具体的⾼度 */height: 30px;background-color: #1ea7ff;display: flex;justify-content: center;align-items: center;color: white;}.container > .scroll-list > div:nth-child(2n) {background-color: #18d9f8;}@keyframes scroll {100% {/* 需要滚动内容的总⾼度 */top: -300px;}}</style><body><div class="container"><div class="scroll-list"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div><div>7</div><div>8</div><div>9</div><div>10</div><!-- 下⾯代码是为了让滚动内容能够多展⽰⼀屏(去除留⽩/⽆限轮播):数量请⾃⾏根据⾼度进⾏计算 --><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div></div></div></body></html>到此这篇关于CSS3实现列表⽆限滚动/轮播的⽂章就介绍到这了,更多相关css3列表滚动轮播内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!。
CSS 新闻向上滚动代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
<!--
body {
text-align:center;
}
#andyscroll {
overflow: hidden;
background: #E8F8F8;
padding: 0 10px;
text-align: left;
width:400px;
height:100px;
overflow:hidden;
}
#andyscroll a {
font:12px/18px tahoma;
color: #000;
float:left;
width:100%;
text-decoration: none;
display:block;
}
#andyscroll a:hover {
font:12px/18px tahoma;
color: #F60;
}
-->
</style>
</head>
<body>
<div id="andyscroll">
<div class="hyxw_nar" id="scrollmessage">
<ul>
<li><a href="#">上海科晓签约天津拓普红外光
谱仪</a></li>
<li><a href="#">上海科晓签约天津拓普红外光谱仪</a></li>
<li><a href="#">上海科晓签约天津拓普红外光谱仪</a></li>
<li><a href="#">上海科晓签约天津拓普红外光谱仪</a></li>
</ul>
</div>
</div>
<script type="text/javascript">
<!--
var stopscroll = false;
var scrollElem = document.getElementById("andyscroll");
var marqueesHeight = scrollElem.style.height;
scrollElem.onmouseover = new Function('stopscroll = true');
scrollElem.onmouseout = new Function('stopscroll = false');
var preTop = 0;
var currentTop = 0;
var stoptime = 0;
var leftElem = document.getElementById("scrollmessage");
scrollElem.appendChild(leftElem.cloneNode(true));
init_srolltext();
function init_srolltext(){
scrollElem.scrollTop = 0;
setInterval('scrollUp()', 25);//的面的这个参数25, 是确定滚动速度的, 数值越小, 速度越快
}
function scrollUp(){
if(stopscroll) return;
currentTop += 2; //设为1, 可以实现间歇式的滚动; 设为2, 则是连续滚动
if(currentTop == 19) {
stoptime += 1;
currentTop -= 1;
if(stoptime == 180) {
currentTop = 0;
stoptime = 0;
}
}else{
preTop = scrollElem.scrollTop;
scrollElem.scrollTop += 1;
if(preTop == scrollElem.scrollTop){
scrollElem.scrollTop = 0;
scrollElem.scrollTop += 1;
}
}
}
//-->
</script>
</body>
</html>
中国制造&中国创造。