小白前端08-浮动/PS切图/学成案例


1.浮动

1.1传统网页布局的三种方式

  • 普通流(标准流)

    • 概念:标签按照规定的默认方式排列
    1. 块级元素会独占一行,从上到下顺序排列
    • 常用元素:div、hr、p、h1~h6、ul

    2.行内元素会按顺序从左到右,碰到父元素边缘自动换行

    • 常用元素:span、a、em
  • 浮动

  • 定位

1.2 为什么需要浮动

  • 原因:很多布局效果,标准流无法实现,此时可以利用浮动完成布局,浮动可以改变元素标签的默认排列方式。
  • 浮动的典型应用:可以让多个块级元素一行内排列显示
  • 网页布局第一准则:多个块级元素纵向排列用标准流,多个块级元素横向排列用浮动

1.3 浮动概念

  • 概念:float属性用于创造浮动框,将其移动到一边,直到左边缘或右边缘 触及包含块 或 另一个浮动框的边缘。
  • 语法:选择器 { float: 属性值;}
    • none:元素不浮动(默认值)
    • left:元素向浮动
    • right:元素向浮动

1.4 浮动特性

  • 主要特性:
    1.浮动元素会脱离标准流(脱标)
    2.浮动的元素会一行内显示并元素顶部对齐
    3.浮动的元素具有行内块元素的特性

注意: 浮动的元素不占有位置!!

1.4.1 脱标

  • 脱标元素的特性:
    1. 脱离标准流的控制()移动到指定位置(),即脱标。
    2. 浮动的盒子不再保留原先的位置

1.4.2 浮动元素一行显示

  • 要想在一行显示,每个标签都要设置浮动属性
  • 浮动元素是互相贴靠在一起的,没有缝隙
  • 如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐

1.4.3 浮动元素行内块特性

  • 任何元素都可以浮动,无论之前是什么模式的元素,添加浮动后具有行内块元素的相似特性。
    • 行内元素可以直接给高度/宽度
    • 如果块级元素没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定

1.5 浮动元素和 标准流父级 搭配

  • 作用:为了约束浮动元素位置,常常,先用标准流的父级元素排列上下位置,之后在内部子元素使用浮动排列左右位置。符合网页布局第一准则。

注意: 有很多案列,比如小米的展示部分的布局,商品展示栏的布局,以及常用的网页结构的布局。

1.6 浮动注意点

1. 浮动和标准流的父盒子搭配

  • 先用标准流的父元素排列上下位置
  • 再用内部子元素浮动排列左右位置

2. 一个元素浮动了,理论上其余的兄弟元素也要浮动

  • 一个盒子里有多个盒子,如果其中一个盒子动了,那么其他兄弟盒子也应该浮动,以免出现问题
  • 浮动的盒子只会影响浮动盒子后面的标准流不会影响前面的标准流

2.清除浮动

2.1 为什么要清除浮动

  • 原因:父级盒子在很多情况下,不方便给高度,但是子盒子浮动不占位置,最后父级盒子高度为0,就会影响下面的标准流盒子。
  • 父级盒子不方便设高度场景:
    • 商品页面商品会随时添加,更新
    • 新闻页面的文章长短不一样
  • 关键: 由于浮动元素不再占有原标准流的位置,所以会对后面的元素排版产生影响。

2.2 清除浮动元素的本质

  • 清除浮动的本质是清除浮动元素造成的影响
  • 如果父盒子本身有高度,则不需要清除浮动
  • 清除浮动后,父级就会根据浮动的子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了。

2.3 清除浮动

  • 语法:选择器{ clear: 属性值;}
    • left:不允许左侧有浮动元素(清除左侧浮动的影响)
    • right:不允许右侧有浮动元素(清除右侧浮动的影响)
    • both:同时清除左右两侧浮动的影响

注意: 在实际工作中,几乎只使用clear:both;

  • 清除浮动的策略是:闭合浮动。

2.4 清除浮动方法

  • 额外标签法也称隔墙法,W3C推荐
  • 父级添加 overflow 属性
  • 父级添加 after 伪元素
  • 父级添加双伪元素

2.4.1 额外标签法

  • 语法:在最后一个浮动的子元素后面,添加一个额外的标签,添加清除浮动样式。例如 <div style= "clear:both"></div>,或者其他标签 (如< br />等)
    • 优点:书写方便,容易理解
    • 缺点:添加许多无意义的标签,结构化较差。工作中不常用。

注意: 添加的空标签,必须是一个块级元素才可以。

2.4.2 父级添加 overflow 属性

  • 语法:给父级添加overflow属性,属性值为hiddenautoscroll
    使用overflow:hidden;来清除浮动。
    • 优点:代码简洁
    • 缺点:无法显示溢出的部分

2.4.3 父级添加 after 伪元素

  • 语法::after方式是额外标签法的升级版,是给父元素添加的
    • 优点:没有添加标签,结构简单
    • 缺点:照顾低版本浏览器
    • 代表网站:百度、淘宝网、网易等
    .clearfix:after{
      content:"";
      display:block;
      height:0;
      clear:both;
      visibility:hidden;
      }
    .clearfix{   /* IE6、7专有(兼容性) */
    *zoom:1;
    }
    ...
    <父元素 class="clearfix">
    

2.4.4 父级添加双伪元素

  • 语法:也是给父元素添加,只是这次是在前后添加了伪元素。
    • 优点:代码更简洁
    • 缺点:照顾低版本浏览器
    • 代表网站:小米、腾讯等
    .clearfix:before,.clearfix:after{
      content:"";
      display:block;
      }
    .clearfix:after{
      clear:both;
      }
    .clearfix{
      *zoom:1;
      }
    ...
    <父元素 class="clearfix">
    

2.5 清除浮动总结

  • 为什么清除浮动:

    • 父级没高度
    • 子盒子浮动了
    • 影响下面布局
  • 清除浮动方式:

    方式 优点 缺点
    额外标签法(隔墙法) 易懂、书写方便 添加无意义标签,结构化差
    父级overflow:hidden; 书写简单 溢出隐藏
    父级:after伪元素 结构语义化正确 IE6-7不支持:after,兼容性问题
    父级双伪元素 结构语义化正确 IE6-7不支持:after,兼容性问题

3.PS切图

3.1 常见的图片格式

  • jpg图像格式:JPEG(.JPG)对色彩保留较好,高清,颜色多,产品类图片常使用。图片较大
  • gif图像格式:GIF格式最多只能存储256色,常显示简单图形及字体,可以保存透明背景动画效果
  • png图像格式:结合了GIF和JPEG的优点,颜色好保持透明背景背景类图片常用。
  • PSD图像格式: 是PS的专用格式,是设计稿常用的格式。

3.2 PS切图

  • 常见的切图方式:图层切图切片切图PS插件切图

3.2.1 图层切图

  • 方法1(简单):右击图层-快速导出为PNG
  • 方法2 (合并图层):先合并需要的图层(ctrl+e),再导出PNG

3.2.2 切片切图

  • 方法:
    1.先利用切片选中图片
    2.文件菜单-导出-存储为web设备所用格式-选择需要的图片格式-存储

3.2.3 PS插件切图

  • 方法:利用Cutterman插件来简化切图过程

4.学成案例

4.1 CSS属性书写顺序

  • 建议按照以下顺序:
    1.布局定位属性:display/position/float/clear/visibility/overflow
    2.自身属性:width/height/margin/padding/border/background
    3.文本属性:color/font/text-decoration/text-align/vertical-align/white-space/break-word
    4.其他属性(CSS3): content/cursor/border-radius/box-shadow/text-shadow/background:linear-gradient...

4.2 页面布局整体思路

  • 为了提高网页制作效率,整体思路如下:
    1.必须确定页面的版心(可视区),通过测量
    2.分析页面中的行模块,以及每个行模块的列模块,为页面布局的第一准则
    1. 一行中的列模块经常浮动布局,先确定每个列的大小,再确定列的位置,为页面布局的第二准则
      4.制作HTML结构,还是遵循先有结构,后有样式的原则。
      5.先理清布局结构,再写代码。需要多写多积累。

4.3 页面具体布局

4.3.1 头部布局

  • 主盒子类名为header
    • 包括有:logonav导航、search搜索、ueser个人等盒子
    • 这几个盒子都要设置浮动
  • 导航栏: 在实际开发中,不会直接用a标签,而是用li标签包含a的做法。
    • li+a语义更清晰,这是有条理的列表型内容。
    • 如果直接用a,搜索引擎容易辨别为有堆砌关键字的嫌疑(故意堆砌关键字容易被搜索引擎降权) ,影响网站的排名。
  • 注意:
    1. 让导航栏一行显示,给li添加浮动,因为li是块级元素,需要一行显示。
    2. 这个nav导航栏可以不给宽度,方便将来添加其余文字。
    3. 导航栏里的文字不一样多,最好链接a 左右padding撑开盒子,而不是指定宽度。
  • 搜索框: 一个大盒子里包含2个表单,input文本框button按钮
    • 按钮使用的是背景图的设置
    • 文本框和按钮之间会有默认的间距,要手动清除。

4.2 banner布局

  • 通栏的大盒子banner不给宽度,给高度,给一个背景。
  • 版心盒子,水平居中对齐,其他元素在这个盒子里布局
  • 版心内左侧subnav导航栏
  • 版心右侧course课程栏

4.3 精品推荐模块

  • 大盒子goods 水平居中,且有盒子阴影
  • 左侧盒子是标题H3左浮动
  • 中间盒子是链接左浮动,good-item 距离可以控制链接的左右外边距(注意:行内元素只给左右外边距
  • 右侧盒子是 mod(修改的意思)右浮动

4.4 精品展示大模块

  • 最大的盒子box版心水平对齐
  • 上面的盒子box-hd,里面左侧标题H3左浮动右侧链接a右浮动
  • 下面的盒子box-bd,里面是无序列表
  • 小li外边距的问题,小技巧:给box-hd宽度为1215 就可以一行装5个li。
    即最后一个盒子没有外边距时,可以直接给父级盒子一个大的宽度,就可以假装没有外边距。

4.5 底部模块

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

推荐阅读更多精彩内容

  • 我和妈妈还有姨妹妹。在饭店吃饭。妹妹上楼了,我也跟了上去。他说二楼有滑梯。我以为是新的那种,结果一看那滑梯,都是散...
    好动的孩子阅读 593评论 1 1
  • 今天宝马x3过来了4驱灯亮气囊灯亮通过电脑检查发现是报码报的转向角度传感器进行检测计划发现移动方向盘并没有实际角度...
    京心达侯天祥阅读 181评论 0 0
  • 虚荣,拜金,善良,毒舌。 我相信这个迷乱的世界上依然还有洁净的爱情,但或许并没有一个圆满的结局。 一个男人与一个女...
    一支光阅读 264评论 0 0
  • 前几天生日的时候买了一家私房烘焙店的蛋糕,从装蛋糕的盒子到蛋糕的外形,包括它的口感,妈妈都好喜欢,疯狂为它打all...
    烦恼往后抛阅读 409评论 0 1