【布局】慕课网实战宣传页面的header

1. CSS让表格里的内容强制显示一行,超出长度显示省略号

在写html页面的时候,会经常用到表格,而且很多时候一个tr里边需要包含好几个td,这样就会导致tr的高度不一致,被撑开了,这时候,如果能让td里的内容强制显示在一行,并让超出边界范围的内容显示点点,然后再给td加个title属性,显示当前td的内容,这难道不是最理想的结果吗

.table{  table-layout: fixed;  }

.td{  text-overflow: ellipsis;   overflow: hidden;   white-space: nowrap;    }

备注:

1、table-layout需要设置为fixed,用来固定表格布局,(这个属性非常非常有用,对于提升页面性能,这样就不会每次当表格宽度变化的时候自适应td宽度。) 当然给每个td加宽度也可以,但是显然没有前者更高效

2、white-space需要设置为nowrap,用来强制不换行

3、overflow设置为hidden,内容溢出的时候不显示

4、text-overflow设置为ellipsis, 内容溢出的时候,溢出部分显示为...

PS:还有小伙伴是在td里面加了个div,对div设置样式:style="width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;"


2.文字隐藏小技巧

text-indent:-999px;  overflow:hidden;

首先将 文字挤出去,因为 text-indent 是负的缩进,所以,缩紧着就把它们给移除固定位置了,再然后,将所有的溢出元素都隐藏起来,就达到了将button上的文字隐藏的效果了。

但这个是有弊端的,具体可看文章:慎用text-indent的负值


3. 慕课网实战宣传页面里header中的布局-logo

先来看一下效果吧,某个高手的响应式开发教程,但慕课网是专业的,我是简化的,只是在学习它的一点点布局。(感觉自己哪儿哪儿都是缺口,只能补一点是一点啦)

这个是经典布局咯,左边是图片logo,紧接着是不同的选项卡,在后面是搜索框,还有最后才是账号相关的信息。而且,点击小头像时,会出现用户的相关信息。看了下它的源码,记录如下:

慕课网header中样式

左边logo:建站过过程中朋友喜欢把网站名称用H1表示,但从美观考虑,要用logo图片来代替h1,这时需要隐藏h1内的这段文字,但又不能对搜索引擎不友好,否则就失去了定义h1标签的意义。在CSS中如何以图代字,参考文章CSS技巧: CSS隐藏文字的方法(CSS text-indent: -9999px;)

.hide-text {  text-indent: 100%;  white-space: nowrap;  overflow: hidden;  }

再为a链接加上 display:block ; height & width ; 就足够啦,哈哈~

网站logo的代码及注释

4. 慕课网实战宣传页面里header中的布局-Nav

Nav布局padding的巧用

5. 慕课网实战宣传页面里header中的布局-登录模块

登录模块分为三个部分,购物车,提醒和登录。

float:right及选择器的巧用

购物车的模块其实也比较复杂啦,特别是当鼠标滑上去的时候,就可以看到下方多了一个框框。

鼠标滑过,出现了详情框

具体的代码是这样的,在这个li里面,a和div都是存在的。只是div被隐藏了。

购物车模块

提醒模块就比较简单啦。只是要去学习icon及小图标。

提醒模块

icon头上的小图标,原理很简单,就是设置父元素相对定位,标签元素绝对定位,然后相对于父元素偏移到右上角。

登录模块的逻辑与购物车模块相似,都是鼠标滑过出现div框框。但在这个框框里,信息会更多一点呢,其中需要注意的有 圆形的用户头像,还有,列表挨着边儿的时候,没有margin-right啦。

position:absolute时,right为0,top为100%,为什么会出现100%呢?首先top(bottom)、 left(right)的百分比的相对值分别是相对于包含块的高度、宽度的。而这个g-user-card便是相对于set的底部开始的呢,也是说,这个定位绝对了它的右对齐。但不可以写top为0,否则会将头像覆盖到。但可以不写,不过写了明显规范。具体可以参考这篇讨论

登录模块

巧用CSS选择器,这样就可以实现margin-right为0 啦。 .g-user-card .user-center-box ul li:nth-child(2n) { margin-right: 0px; }

直接在 a 的里面为 img 设置宽高相同并border-radius为50%,便有了圆形头像;而且,border值给一个呢,margin-right给一个,float为left,就OK啦。



6. 慕课网实战宣传页面里header中的布局-搜索模块

position的巧用

7. 慕课网实战宣传页面里header--WebFont

看到慕课网的代码里不断重复::after。于是,我茫然了。再次总结下after,clear吧:

.clear是选择器,在class设置元素样式为clear; after是个伪元素,.clear:after是在class为clear的元素后面加入新内容。clearfix:after{clear:both;content:".";display:block;height:0; 是用来清除浮动用的。又看到这篇文章,讲述clear:after的重要性。眼睛有点酸痛了,有机会了再看这篇文章吧。

在代码中,我发现一个小i就可以得到一个小图标,于是,我又茫然了。查看代码也不过是看到这些:.sz-search:before{ content:"\e910"; }

搜索了一下下,发现有小伙伴问了css中icon font 的每一个icon的编码是怎么来的?具体的解答可以参考这篇文章。同事补充上面的那个问题,伪元素实际上在html dom中不存在,但会被浏览器渲染成html的一个节点。#twitter:before,就是在#twitter这个标签里的开始处插入了一个子元素(节点),同理,:after是在该元素的最后插入子元素。

伪元素到底是什么?

简单说,就是在css中使用font-face引用这个字体文件。比如慕课网的源码中确实有这个代码:

CSS中,font代替icon啦

font-family:'XXX';/* 给你的自定义WebFont命名 */,比如慕课网将其命名为sz,也就是 “实战”。它的好处是不必再使用css spirit切图了,而且作为矢量图可以以任意你想要的尺寸显示,另外,这种方法兼容性很好(ie6 7 可以显示,前提是你为不同的浏览器准备了不同的字体文件格式,如eot、woff、ttf、svg)。

但unicode编码显然不如html的class或者id语义化。因此,就又有了如下的突破:


icon  icon_open 引入图标编码

我想我似乎知道了 :before的故事。

据说比较好用的字体库有icomoon.io呢。

还有 box-sizing:border-box,之前似乎都没有用过。"定义 box-sizing: content-box; 时,浏览器对盒模型的解释遵从我们之前认识到的 W3C 标准,只有width;定义 box-sizing: border-box; 时,浏览器对盒模型的解释与 IE6 相同,包括了border和padding。 " 

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,721评论 1 92
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,147评论 0 11
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,017评论 0 1
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,132评论 0 1
  • 天气渐冷 你可记得保暖!
    嗑瓜子的晓鸣阅读 228评论 0 1