总结《茶韵》中踩的坑(已解决)

一.index页面

1.基于jquery的三级导航菜单。

①先实现二级普通下拉菜单,动态下拉菜单实现步骤:

(1)利用jquery的ready()函数来实现在页面整体加载完成后执行特殊效果。

(2)在function()内部实现主菜单的鼠标进入事件,所有的下拉效果都在这个事件中。

(3)先停止播放所有特效动画并隐藏下级菜单。

(4)获取下级菜单对象,重新设定下级菜单位置。

(5)停止下级菜单其他动画并使其下拉。

(6)添加下级菜单的鼠标移出事件,让下级菜单向上收起。

应用到的jquery函数有:ready()、mouseenter()、stop()、hide()、parent()、next()、css()、offset()、height()、slideDown()、slideUp()、mouseleave().

②在原有下拉菜单的基础上添加第二级子菜单,第二级子菜单横向显示。与①类似:获取到顶层菜单后模拟顶层菜单的鼠标悬停与离开事件,并设置下层菜单的可见状态,多级下拉菜单实现步骤:

(1)将所有子菜单隐藏。

(2)设定主菜单项及各级子菜单项的模仿悬停事件。

(3)在模仿悬停事件中设定鼠标悬停则显示下级菜单,如果鼠标离开则收回菜单。

应用到的jquery函数有:ready()、css()、hover()、find()、show()、jquery属性first.

美观的css样式如ul、ul li、ul li a省略,只记录下主体部分。

(一)无序列表作为菜单主体

<ul id="mainmanu">

<li><a href="#">1 HTML</a></li>

<li><a href="#">2 CSS</a></li>

<li><a href="#">3 Javascript</a></li>

<ul>

<li><a href="#">3.1 jquery</a>

<ul>

<li><a href="#">3.1.1 Download</a></li>

<li><a href="#">3.1.2 Tutorial</a></li>

</ul>

</li>

<li><a href="#">3.2 Mootools</a></li>

<li><a href="#">3.3 Prototype</a></li>

</ul>

</li>

</ul>

(二)引入jquery库(最新版jquery库是3.4.1版本的,但我为了兼容低版本ie所以用了2版本以下的,可自行去jquery官网下载)

<script src="js/jquery-3.4.1.min.js" type="text/javascript“></script>

(三)添加js代码

<script type="text/javascript">

$(document).ready(function(){

$(" # mainmanu ul ").css({display: "none"});

$(" # mainmanu li").hover(function(){

$(this).find('ul:first').css({visibility: "visible"})

.show(400);

},function(){

$(this).find('ul:first').css({visibility: "hidden"});

});

});

</script>

(四)考虑了性能,所以我加了一个ready的预加载js代码。

2.后来由于界面需求,所以要把导航条随屏幕滚动始终固定在页面最上方。

本来考虑用js,后来想了想css也能做到,而且不用加载脚本。

(一)html

<div id="daohang">导航所在的div容器内容</div>

(二)css

#daohang{

position:fixed;

top:0;

left:0;

width:100%;

height:25px;

z-index:99;

}

3.分屏实现。本来也是考虑用js,后来复习了下html5,发现可以用锚点实现,于是采用这种方法。

①如定义了<div id="firstContent”></div>,要点击一个图片跳转到下一屏怎么办?对了点击的必须是图片即image,后缀是png,jpg等的。我试过用svg绘图,.svg的跳转功能在其它浏览器不起作用,只在ie浏览器才起作用,所以全部做完以后换成了.png的图片。

记录一下做的无用功svg图,在html中<embed src="svg/arrow.svg" type="image/svg+xml">

arrow.svg内容如下:

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "

http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd

">

<svg width="40" height="40" version="1.1" fill="none" stroke="#CCCCCC" stroke-width="3">

<path d="M0 1L19 21L39 0" fill="none" fill-opacity="0" stroke="#999999" stroke-width="3" />

<path d="M5 25L18 38L32 25" fill="none" fill-opacity="0" stroke="#CCCCCC" stroke-width="3" />

</svg>

即这个图片

②在图片前加上链接即可<a href="#secondContent"><img src="./images/008.png"></a>

注意链接一定得加#,则可以跳转到第二屏。

4.文字竖排显示分别采用了两种方法实现。

①因为文字较少,14字短诗,所以直接用了css的line-height属性,直接设置它为24px;再把font-size属性设为1.5em;

em和px可以相互转换,1em=16px;

②解决大段文字竖排, 采用了css3的writing-mode属性,考虑兼容性所以还要写个加-webkit-前缀的writing-mode属性。如:

.intro{-webkit-writing-mode:vertical-rl;writing-mode:tb-rl;}这里采用float浮动+margin百分比定位。

同理,行高line-height也要设置,这里采用margin-left定位。

段落宽高自行添加吧。

5.橙色书签。

①过渡动画采用了css3的transition:height 4s;考虑兼容性加-webkit-前缀。

②css3的圆角border-radius属性。

③高度最终鼠标悬停变化设置div:hover{height:130px;};

6.文章标题背景框放置,如图

踩的坑是我把它定位写成了margin:20% 15%;postion:absolute;

最后看整体时整个页面最底部留白溢出了,因为父元素宽度我设成了100%,那么子元素margin就会留白溢出。

margin存在溢出问题!!!查了下资料,试过的方法都不起作用,比如:before伪类,

#header:before{

content:".";

display:block;

height:0;

visibility:hidden;

}//按理说这个css应该有作用的,就是在header开头插入一个字符,设置为块级元素并且高度为0和让其不见,就可以让header自动撑高了,但不知道为什么在我这里不起作用。

添加padding-top或在头部加一个 的空格等~

最后误打误撞重新设置了margin值,解决了o(* ̄︶ ̄*)o

重新设置margin值,设4个即可,即margin:20% 0 0 15%;

7.图片设置。

①定位还是用margin

②大小设置background-size:100% 100%;即可,自动填满设置的宽高,图片可以不用重新制作分辨率,自适应大小了。

(我觉得首页最难的是分屏的实现,当时给了效果图,我直接说不会,试了很多种js编写,总有各种问题出现,最后还是在看完了书才想到可以这样做。)

二.origin页面

1.轮播图

我之前用原生js写了一个,这次用的是基于jquery写的,觉得jquery的属性选择器$真的是好用,只用敲一点点代码就OK了,34行代码不贴。

2.蜂巢结构图文放置

用css3写的,一些效果,比如transition,opacity,hyphens,text-transform,z-index;css3的一些选择器,如::before,:after,:nth-child(n),>,考虑兼容性用到了-moz-前缀,-webkit-前缀,还有一个bug没解决,在ie浏览器上蜂巢效果显示的是正方形,不过没关系,其余效果一样,css3蜂巢路径绘制clip-path。为了响应式屏幕,所以用了display:flex流式布局蜂巢,最后用了@media媒体查询了屏幕大小,压缩了代码,不贴。

(我觉得文化起源这个页面rgba(0,0,0,0)的颜色比color:#000000好用些,因为可以直接设置透明度呀)

三.craft页面

1.鼠标滑轮滚动

采用js写的,也是分屏缓慢滑动页面。js部分不贴,html部分设置右边三个小点点贴一下:

<div id="radiodiv" class="radiodiv">

<input type="radio" id="radio1" onmouseenter="showScreen(1);" name="radio" value="1" checked="checked" />

<br/><br/><input type="radio" id="radio2" onmouseenter="showScreen(2)" name="radio" value="2" />

<br/><br/><input type="radio" id="radio3" onmouseenter="showScreen(3)" name="radio" value="3" />

<br/><br/><div id="informationdiv"></div>

</div>

2. 文章标题

本来用css3写的棕色圆形边框类似这种①②③,感觉太突兀了,效果不好,于是直接采用文字的一二三。

棕色圆形边框css

.bianKuang{

border-radius:25px;

border:2.5px solid #dba072;

height:30px;

width:30px;

float:left;

margin:0.5% 0;

text-align:center;

}

四.health页面

1.做完这个页面后我考虑了下页脚位置,后来发现不用考虑,效果还是一样的,所以直接把这一段css删了。

2.可能设置的图片宽度太宽,所以浏览器出现了水平滚动条,于是我在css里加了overflow-x:hidden;隐藏了水平滚动条。

这里的父背景定位position:relative,填充背景图一样用的如上的百分比大小;子文章定位我直接用了top:百分比值,left:百分比值,position:absolute;没有用margin.

五.teaism页面

1.动态半圆形菜单

①css部分绘制半圆,也是:nth-child(n)选择器。②js不贴

2.下面的文章部分响应式,用了@media.文章点击进去的详情页面,我懒,所以内容部分就直接摆放的图片。

3.由半圆形菜单点进去的书籍页面,也可以导航条点茶道茶德的茶道之书,最难做。

①3个css,分别控制右侧滑动条,翻页样式,整体样式。用了!important覆盖css样式,ie6有css hack,因此又加了一条css代码如下:

* html .jspCorner {

margin: 0 -3px 0 0;

}

css3的选择器>,transform,backface,transition,cursor,font-smoothing,渐变色linear-gradient,层叠优先样式z-index;box-shadow;text-shadow用的居多,前缀要加-webkit-,-moz-,-o-,-ms-。也用了@media媒体查询了屏幕大小。

②jquery采用的版本是1.9.1,基于它写了6个js,分别是css样式,右侧鼠标滑动,菜单点击滑动,图标隐藏显示相关菜单找到相应文章,手机端手势翻页,存储当前页内容,总体实现了所有功能。有个小bug未解决,如果翻页那0.1s盯着看,会看到快要翻过去的那一面是反的字,只有中文会出现这个bug,英文没有。别和我说加什么书本翻页柔和动画,我不会,有大佬会数学函数的可以教我吗,那是又要编写1至2个js了。

六.留言页面

实现了留言的添加,删除,展示部分。

相应本地时间可以显示,头像可以替换,名字与内容可以验证。

1.写了一个js实现以上所有功能。大致思路:

①获取id, class, tagName。

②事件绑定, 删除。

③设置css样式 ,读取css样式。

④禁止表单提交,按钮绑定发送事件,Ctrl+Enter快捷键绑定发送事件,发送事件。

⑤重置表单,判断字符输入事件绑定,输入字符限制,输入框获取焦点样式,鼠标滑过按钮样式,将表单展示的元素高度保存。

⑦删除功能,格式化时间,头像。

2.css部分用了zoom,overflow,word-wrap,repeat-x,cursor

透明度opacity:0.5; filter:alpha(opacity=50);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,486评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,754评论 1 92
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,600评论 0 20
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,583评论 0 7
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,581评论 1 13