youku总结

  好几天,断断续续的,把youku首页的各种结构和功能都实现了一遍,总结一下;

  

  1. 拒绝通配符:以前听别人说用通配符取消所有元素的边距不好,我没觉得什么,但是这次发现了一个问题,不知道是浏览器bug还是什么原因,当在一个元素的后代选择器中使用通配符以后,在后面单独设置其中一些元素的属性时会不起作用。比如被通配符设置了以后的h2,再想单独设置其样式就会无效;不明缘由,但是为防止这种事故,还是避免使用通配符的好;
  2. 反向选择器:以前没注意过这个选择器,但是这次在解决问题的时候使用了一下,确实很方便,尤其是在一对li中设置样式,如果标题的那个li样式不同,就可以使用反向选择器“:not()”来对非标题(没有class=“title”)的li进行设置,避免优先级或者其他问题导致的样式设置无效;
  3. 善用id和lclass:以前虽然明白二者的不同,但还是混乱使用,这次更是大量使用class,而且存在大量的多层后代选择器,不得不说,有些在页面中值出现一次的结构,给个id比较靠谱,而具体的内容,用class来设置,或者说,id管结构,class管美丑;尽量不使用多级后代选择器;
  4. 管理组件库:虽然这只是一个页面,但还是在多次样式设置后发现了组件库的必要性,而要高效的发挥组件库的作用,标准就变得很重要,从组件命名,到分类管理,再到使用方法和修改方法,都值得细细规划,这绝对是拿到设计图之后必做的一项工作;
  5. 原型分析:在写html相关文件以前,对原型设计图的分析很重要,这将决定文件结构,层次,甚至内外边距的设置;因为有些容器中没有通栏的内容,则可以设置padding,而有些会在中间或者底部出现通栏的区块,比如广告,这时候就要慎重padding的使用了,把广告条放进文档流,还是用绝对定位从文档流中取出,是个问题;而且写文档时,一定要遵循先写结构,在填充内容的原则,以避免文档混乱,也便于以后维护;
  6. 慎用绝对定位和浮动:因为绝对定位和浮动会改变文档流,这会影响上下文结构的定位,如果被定位的元素与上下文存在排列关系,这个元素的绝对定位会给前后元素带来很多麻烦,弄不好一堆绝对定位,那么好了,维护的时候一定会被活活累死;
  7. 正确理解边距和定位值:如果是相对定位,要注意与上下文的关系,能用padding和margin解决的绝不用left和top,因为后者会对前后文的元素定位产生影响,弄不好后面的元素都要使用left和top来调整位置,那么好了,工作量直线上升;
  8. 先总后分写样式:首先在文档开头要对文档字体,常用a样式,ul样式等进行设置,然后在逐渐细化具体元素的样式,先总后分,先公后私;不仅仅能减少代码量,而且便于管理;但是公共样式要照顾全局,所以不能出现偏差和问题,也尽量不要使用通配符来进行元素选择;
  9. 合理运用伪元素:伪元素是一件很酷的事情,但未必就高效,我刚开始用伪元素写三角和箭头,感觉完美,但是其实如果重复使用的话,还是写成组件来的效率高,还有一个问题,就是js无法选择到伪元素,这会带来一些麻烦,所以如果需要js来控制的话,一定不要使用伪元素;
  10. 问题:

      用div写的小三角,在旋转过渡的时候,会左右跳一下,也就一两个像素的距离,但是能看出来,而且不同浏览器跳的也不一样,定位和旋转原点是没有问题的,不明原因,或许跟三角尺寸有关系吧。下次实验一下;

时间: 2024-08-13 09:57:12

youku总结的相关文章

youku首页01

今天尝试着写youku首页,第一次尝试完成一个整体的页面,感觉不难,而且自己也知道困难在于发现: 第一遍,因为没有写过整页,没有经验,所以一个一个元素往上加,边写htm,边写CSS,还顺便把js也写了,然而没多久就发现写不下去了,牵一发而动全身,这样写,得累死: 第二遍,开始先搭建整体html框架结构,然后往里面添加具体元素和CSS,一大块静态页面写完后,才加入js动态部分:整体思路清晰多了,也快了很多:然而,youku首页用的布局方式并不是响应时布局,而我在写的时候用了float这玩意儿,结果

获取youku视频下载链接(wireshark抓包分析)

随便说两句 前两天写了一个python脚本,试图以分析网页源码的方式得到优酷视频的下载地址,结果只得到视频的纯播放地址,下载纯播放地址得到的文件也无法正常播放视频. 这里共享一下播放地址得到的方法(想看的可以展开折叠): # 实验视频地址:http://v.youku.com/v_show/id_XMTY3OTYyODM2NA==.html?f=27873045&from=y1.2-3.2 # 解析到播放地址:http://static.youku.com/v1.0.0646/v/swf/loa

youku的js脚本的工具函数和初始化方法

定义日志输出函数 (function(){ if(window['console']){ return; } window['console'] = { log: function(){} ,clear: function(){} ,debug: function(){} ,error: function(){} ,info: function(){} ,count: function(){} ,time: function(){} ,trace: function(){} ,warn: fun

Asp.Net MVC实现优酷(youku)Web的上传

优酷第三方上传API没有.NET版本的SDK,让从事.NET开发人员要实现开放平台上传文件无从下手.本文经过一天的预读优酷文档,以NET方式实现了视频上传. 参考: 优酷开放文档 http://open.youku.com/ 强烈鄙视优酷团队既然没有NET版本SDK 本来以为可以通过合作级别授权,文档里面说通过合作级别授权自需要用户名和密码,然后去申请合作者身份,优酷客服告知不允许申请. 哎,只能硬着头皮去用NET采用通用授权方式去实现. 通用授权思路: 1.请求用户授权,跳出页面优酷登入授权页

js+html+css实现简单页面交互功能(2015知乎前端笔试题)http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2

js+html+css实现简单页面交互功能(2015知乎前端笔试题) http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2 密码:hellozhihu

mac下使用QuickTime录屏及上传youku注意事项

一,解决QuickTime录屏不能带声音的问题: mac下使用QuickTime屏幕 Soundflower->Audio Setup->soundflower(2ch),在其上鼠标右键,在弹出菜单中将“将此设备用于声音输入”和“将此设备用于声音输出”都点成灰的. 此时我们不能再听到Mac的声音,但能通过QuickTime录出带声音的录屏. 在QuickTime录屏前需要设置一下: 当录好之后,为了能听到声音,需要将声音恢复,通过Mac的 系统偏好设置->声音.把 输出 改回 内置扬声器

youku的视频代码放到网站上如何实现自适应

由于是在博客编辑器里面编辑的内容,所以一直想通过CSS的方法来解决,可是上面的方式都有明显的缺陷,最终被迫采用脚本来控制列的高度,代码如下: <divstyle="text-align: center;"> <embedid="movie"src="http://player.youku.com/player.php/sid/XMjg4NzkzMjQ4/v.swf"allowfullscreen="true"

来自YouKu的漂亮搜索框

闲来木事,把YouKu漂亮的搜索框给扣下来了,费了好大事啊,大家用起来可方便多了,运行一下看效果吧,绝对漂亮哦. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&

2.2.4、用jwplayer实现youku可拖拽播放效果(nginx,yamdi)

Yamdi,为flv/mp4视频添加关键帧 1.解压下载的文件tar –zxvf yamdi-1.8.tar.gz 2.进入解压后的目录cd yamdi-1.8. 3.编译并安装 make && make install 4.使用该软件为视频添加关键帧信息实现拖动效果 具体使用方法如下yamdi -i input.mp4 -o out.mp4 Nginx需要加如下配置 location ~ \.flv$ { flv; } 如果要限制带宽和第一次下载量可加如下参数 limit_rate_af