发表于: 2019-01-15 16:50:36
1 759
Day 14(一不小心又过了十二点,索性跟15号合并成一篇日报)
完成的事情
1.学习Flex弹性盒子
2.复习position
3.text-align-last、font-size、line-hight、letter-spacing
4.学习Form表单
遇到的问题
1.webstorm还是不能实时调试,而且最近debug任务三也只能出来404了
解决:查找了很多资料但好像没有人遇到跟我一样的情况,注意到旁边的下拉菜单,点开看觉得可能是没有选对文件,不知道为什么这里的路径跟名称都有点问题,修改之后恢复正常(师兄知道这个菜单是什么吗,我需不需要每次都修改)
第二天又不能实时刷新了
2.中间的content部分不能直接居中,要保持同设计图一样的样式
师兄说布局最好使用弹性盒子来做,只有在细部必须用到绝对定位的时候才使用position,而且绝对定位容易与其他的冲突,所以帮我修改并简化了代码,改为flex,并添加了justify-content使其居中,
复习position:
relative:定位是相对于自身位置定位(设置偏移量的时候,会相对于自身所在的位置偏移)。设置了relative的元素仍然处在文档流中,元素的宽高不变,设置偏移量也不会影响其他元素的位置。最外层容器设置为relative定位,在没有设置宽度的情况下,宽度是整个浏览器的宽度。实际上该元素依然占据文档中原有的位置,只是视觉上相对原来的位置有移动。
absolute:定位是相对于离元素最近的设置了绝对或相对定位的父元素决定的,如果父元素设置绝对或相对定位,则相对于距离最近的祖先元素进行定位。如果没有父元素设置绝对或相对定位,则元素相对于根元素即html元素定位。设置了absolute的元素脱了了文档流,元素在没有设置宽度的情况下,宽度由元素里面的内容决定。脱离后原来的位置相当于是空的,下面的元素会来占据位置。随着滚动并不一直停留在屏幕中。
fixed:基于浏览器窗口(或手机等终端窗口)浮动与文档流之上,随滚动一直停留在屏幕之中。
z-index (重叠---帧布局): 设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。注释:元素可拥有负的 z-index 属性值。
注释:Z-index 仅能在定位元素上奏效(例如 position:absolute;)!
收获
1.弹性盒子:任何一个容器都可以指定为Flex布局。
注:设为 Flex 布局以后,子元素的float、clear和vertical-align属性都将失效
在flex布局的时候,需要注意行内元素(a, input, textarea, span, i等),需要根据情况设置成display: block;
- flex :任何一个容器都可以指定为 Flex 布局。
- inline-flex :行内元素也可以使用 Flex 布局。
- - stretch(默认值):轴线占满整个交叉轴。
弹性容器(Flex container)
包含着弹性项目的父元素,通过设置display属性的值为flex或inline-flex来定义弹性容器。
弹性项目(Flex item)
弹性容器的每个子元素都称为弹性项目。弹性容器直接包裹的文本将被包覆成匿名弹性单元。
轴(Axis)
每个弹性框布局包含两个轴。弹性项目沿其依次排列的那根轴称为主轴(main axis)。垂直于主轴的那根轴称为交叉轴(cross axis)。
flex-direction
确立主轴。- row(默认值):主轴为水平方向,起点在左端;
- row-reverse:主轴为水平方向,起点在右端;
- column:主轴为垂直方向,起点在上沿;
- column-reverse:主轴为垂直方向,起点在下沿。
justify-content
定义弹性项目沿主轴如何排布。- flex-start(默认值):左对齐;
- flex-end:右对齐;
- center: 居中;
- space-between:两端对齐,项目之间的间隔都相等;
- space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
align-items
定义弹性项目沿交叉轴默认如何排布。
- flex-start:交叉轴的起点对齐;
- flex-end:交叉轴的终点对齐;
- center:与交叉轴的中点对齐;
- space-between:与交叉轴两端对齐,轴线之间的间隔平均分布;
- space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍;
align-items和align-content有相同的功能,不过不同点是它是用来让每一个单行的容器居中而不是让整个容器居中。
- 所确立的默认值。
- - auto:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
- - 除auto外其他都与align-items属性完全一致。
方向(Direction)
writing-mode
确立的方向(从左到右、从右到左,等等)。- 根据
flex-wrap
属性,弹性项目可以排布在单个行或者多个行中。此属性控制侧轴的方向和新行排列的方向。- nowrap(默认):不换行;
- wrap:换行,第一行在上方;
- wrap-reverse:换行,第一行在下方。
flex-flow
是 flex-direction
和 flex-wrap
属性的简写,决定弹性项目如何排布。
默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
项目属性
order
属性将元素与序号关联起来,以此决定哪些元素先出现(数值越小排名越靠前,默认为0)
flex-grow
属性定义项目的放大比例,按照比例分配剩余空间,默认为0,即如果存在剩余空间,也不放大。
flex-shrink
属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。负值对该属性无效。
align-self 定义了单个弹性项目在交叉轴上应当如何对齐,这个定义会覆盖由
align-items
2.text-align-last(最后一行对齐方式)、font-size(字体大小)、line-hight(行高)、letter-spacing(字间距)
text-align实现两端对齐文本效果,但是要特别注意text-align不会处理被打断的行和最后一行!
如果你的文字只占了一行,同事它也是最后一行了,所以text-align设置为justify不会产生任何效果。
解决方法是使用text-align-last,并将其设置为justify。
3.Form表单
主要用于向服务器传输数据;如常见的登录、注册页面。
表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含 menus、textarea、fieldset和 label 元素 等。
其属性有
action {URL}:一个URL地址;指定form表单向何处发送数据。
enctype {string}:规定在发送表单数据之前,如何对表单数据进行编码。
指定的值有:application/x-www-form-urlencoded :在发送前编码所有字符(默认为此方式);
multipart/form-data :不对字符编码。使用包含文件上传控件的表单时,必须使用该值
method {get/post}:指定表单以何种方式发送到指定的页面。
指定的值有:get :form表单里所填的值,附加在action指定的URL后面,做为URL链接而传递。
post :form表单里所填的值,附加在HTML Headers上。
明天计划学习
提交任务三
开始任务四
评论