发表于: 2018-10-28 09:33:52

1 817


今天完成的事情:

今天开始任务五的切图,完成header、footer和主体内容的上半部分的布局,主要还是用之前的定位设置的,

继续学习flex的知识,查看了很多资料包括使用例子,但是还是不清楚怎么应用的任务五种,感觉个人理解能理有问题,理解什么是清除浮动以及方法,学习css自适应布局方法以及background的相关设置,Html元素关于内容分区的元素有哪些

明天计划的事情:

继续弄得flex布局的实际使用来设置任务五,关于html及css代码规范在详细学习一下,打好基础,复习之前的知识,包括浮动,盒子模型,定位等,现在对浮动和盒子模型的应用不能有更好的应用,现在还停留在最简单的了解

遇到的问题:

任务五主体内容的下半部分布局是可以继续用定位完成的,但是每一个小图片及小文字都需要设定宽高及位置,非常繁琐,还没学会flex怎么去设置这部分,感觉很难理解。

另外在设置内容主体上半部分的背景图片部分,随着拉伸页面,图片不会同比例变化,拉大后图片缺失,还没找到解决办法

收获:

1、flex布局容器属性

* flex-direction:决定主轴的方向

row 从下到上;row-reverse 从上到下;column 从左到右;column-reverse 从右到左;

* flex-wrap:如果一行排列不下如何换行

nowrap 不换行;wrap 换行;wrap-reverse 换行,第一行在下面;

* flex-flow:flex-direction属性和flex-wrap属性的简写形式

row warp;

* justify-content:项目在主轴上的对齐方式

flex-start 左对齐;flex-end 右对齐;center 居中;space-between 两端对齐;space-around 

* align-items:项目在交叉轴上如何对齐

flex-start 交叉轴的起点对齐;flex-end 交叉轴的终点对齐;center 交叉轴的中点对齐;baseline 项目的第一行文字的基线对齐; stretch 如果项目未设置高度或设为auto,将占满整个容器的高度;

* align-content:属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用

flex-start 与交叉轴的起点对齐;flex-end 与交叉轴的终点对齐;center 与交叉轴的中点对齐;space-between 与交叉轴两端对齐,轴线之间的间隔平均分布;space-around 每根轴线两侧的间隔都相等;所以,轴线之间的间隔比轴线与边框的间隔大一倍;

stretch(默认值) 轴线占满整个交叉轴;

2、Flex项目属性

order属性(num)

order定义自身排列顺序。数值越小,越靠前,默认为0。-1/0/1/2/3/...

flex-grow属性(num)

flex-grow 定义自身放大比例,默认为0不放大。例如:1/2/1=25%:50%:25%

flex-shrink属性(num)

flex-shrink定义了空间不足时自身缩小比例,默认为1自动缩小,0不缩小。

flex-basis属性

flex-basis定义最小空间,默认值为auto,即自身的本来大小。

flex属性

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

align-self属性

align-self定义自身对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

3、Html元素关于内容分区的元素有哪些

内容分区元素允许你将文档内容从逻辑上进行组织划分。使用包括页眉(header)、页脚(footer)、导航(nav)和标题(h1~h6)等分区元素,来为页面内容创建明确的大纲,以便区分各个章节的内容。

address、article、aside、footer、header、<h1><h2><h3><h4><h5><h6>、hgroup、main、nav、section

4、background 属性

背景缩写属性可以在一个声明中设置所有的背景属性。

可以设置的属性分别是:background-color, background-position, background-size, background-repeat, background-origin, background-clip, background-attachment,和background-image.

如果上述值缺少一个,这不要紧,例如background:#FF0000 URL(smiley.gif);是允许的。

主要对background-size深入了解

background-size:水平方向 垂直方向,做移动端的时候经常需要用到这个。

属性值分别有:

1 设置具体的值 。background-size:100px 200px。你设置的多大  背景图片就有多大,当只设置一个值的时候高度会auto。

2 设置百分数 。background-size:100% 100% ,图片的宽高 会以容器的宽度为基准,来生成大小。当只设置一个值的时候,高度的值会默认为auto。但不一定会正好就等于图片的高度显示出来,我之前做一个移动端就是因为我设置的是background-size:100% ,后来发现背景图片的高度只显示了一部分,底部的就是看不到,但我们底部的背景又是需要展现出来的,后来改成background-size:100% 100%就好了。当然如果你的背景的重点不在下面。可以只写一个100%。

3 background-size: cover,这个就是不会考虑图片本身的比例,让图片能够把容器充满,所以很有可能图像只显示一部分,因此还是要根据你的需求来看。

如果你需要显示完整的图片,最好用background-size:100% 100%,如果图片的重点在上面,或者只显示一部分也没影响,可以用background-size:100% 和background-size: cover。

4 background-size: contain 把图像图像扩展至最大尺寸一直到。他们的宽度和高度都能接触到容器。

5、清除浮动

什么是清除浮动,因为在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。

清除浮动方法

方法一:使用带clear属性的空元素

在浮动元素后使用一个空元素如<div></div>,并在CSS中赋予.clear{clear:both;}属性即可清理浮动。亦可使用<br /><hr />来进行清理。

优点:简单,代码少,浏览器兼容性好。

缺点:需要添加大量无语义的html元素,代码不够优雅,后期不容易维护。

方法二:使用CSSoverflow属性

给浮动元素的容器添加overflow:hidden;overflow:auto;可以清除浮动,另外在 IE6 中还需要触发 hasLayout ,例如为父元素设置容器宽高或设置 zoom:1

在添加overflow属性后,浮动元素又回到了容器层,把容器高度撑起,达到了清理浮动的效果。

方法三:给浮动的元素的容器添加浮动

给浮动元素的容器也添加上浮动属性即可清除内部浮动,但是这样会使其整体浮动,影响布局,不推荐使用。

方法四:使用邻接元素处理

什么都不做,给浮动元素后面的元素添加clear属性。

方法五:使用CSS:after伪元素

结合 :after 伪元素(注意这不是伪类,而是伪元素,代表一个元素之后最近的元素)和 IEhack ,可以完美兼容当前主流的各大浏览器,这里的 IEhack 指的是触发 hasLayout

给浮动元素的容器添加一个clearfixclass,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素(Block element)清理浮动。

 

6、css自适应布局

https://www.cnblogs.com/qieguo/p/5421252.html

float布局、普通流布局、绝对定位、弹性盒子

这是实际上介绍的就是最近几个任务所用的布局方法,看这个总结可以比较清除各种布局方法的情况,但是具体如何应用在任务中还是需要对各种布局的基础知识理解透,这还是目前要努力的方向。

7、听泽平师兄讲解一些做前端的思维学习方法和态度,比如要有责任心和职业素养,编辑规范代码,不然后续工作会很麻烦,学习要有探索精神,有问题寻求解决方法,多考虑是否有其他跟便捷的方法,像任务一是否还能用其他方式实现,另外写工作日报要认识到重要性,对于自己总结学习经验,后期复习很有用。


返回列表 返回列表
评论

    分享到