发表于: 2019-04-12 21:16:57
1 673
Day 52 task14-4
今天完成的事情
1.完成导航栏
2.完成头部和尾部的公共部分
遇到的问题
1.【solved】完成导航栏
借助checkbox的checked状态,因为复选按钮可以反复选择。根据checked的状态,才确认下拉列表框是否能够显示隐藏。
制作点击按钮
用媒体查询把768px以上的分辨率显示屏把按钮隐藏
最后再用hover属性制作鼠标经过时的不同样式
2.【solved】css轮播图
先给父元素盒子相对定位,宽度100%沾满整个屏幕,溢出部分隐藏,
存放图片的盒子用绝对定位,宽度300vw,因为图片是横向排列,所以要设置的宽度是父元素的图像的倍数,
在利用white-space:nowra;不换行属性防止图片换行。
【方法一】通过animation绑定图片实现自动轮播的动画效果。
(7)animation-play-state: 规定动画是否正在运行或暂停。默认是 "running"。
通过animation: loop 10s linear infinite;绑定图片的动画效果。时间是十秒
然后创建一个动画规则,总共轮播三张图片,总共耗时10秒钟,一张图片大约3.3秒
一张图片切换耗时800ms(0.8秒),停留2600ms (2.6秒)
红色部分
0%---26%图片停留时间,停留2600ms (2.6秒)
26%---34%图片切换播放时间,图片切换耗时800ms(0.8秒)
黄色部分
设置图片在切换时的位置
第一张图片位置0 0
第二张图片位置-33.33% 0
第三张图片位置66.7% 0
最后一行为0 0 一共播放了三张图片耗时十秒,播放完位置在跳转到第一张也就是回到了起点从新播放,
这里用了三张图、所以三张图的定位是0 33.3% 66.6%;
然后三张图的时间总共是10s,从0~100%
这里图片逗留时间是30%。切换时间是5%。
【方法二】用checkbox和lable实现手动点击轮播
流程图解释:
(1)把input[type="radio"]的一组按钮用设置相同name属性的方向进行关联,使得这组input可以切换。
(2)用label标签可单向绑定input,点击label即可使相应的input被:checked。
(3)多个label标签可绑定同一个input,分别为左右切换按钮和底部指示器设置一组label。
(4)当input被:checked后,通过选择器可控制图片或label标签的样式(模拟JS的点击事件)。
(5)input:nth-of-type(n)是选择input的父元素的第n个子元素,也可以给input加上id来代替。
(6)input ~选择input之后的兄弟元素(一定是之后,渲染关系不可逆;而且一定是兄弟,如果是子集,请加上后代选择器)。
收获
1.meta标签的组成:
meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
1、name属性
name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎查找信息和分类信息
meta标签的name属性语法格式是:
<meta name="参数" content="具体的参数值">。
name属性的参数:
keywords(关键字)
keywords可以通过content告诉搜索引擎网页的关键字。
description(网站内容描述)
description用来告诉搜索引擎你的网站主要内容
robots(机器人向导)
robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。
robots下content的参数有all,none,index,noindex,follow,nofollow。默认是all。
all:文件将被检索,且页面上的链接可以被查询;
none:文件将不被检索,且页面上的链接不可以被查询;
index:文件将被检索;
follow:页面上的链接可以被查询;
noindex:文件将不被检索,但页面上的链接可以被查询;
nofollow:文件将被检索,但页面上的链接不可以被查询;
author(作者)
标注网页的作者
generator
generator的信息参数,代表说明网站的采用的什么软件制作。
2、http-equiv属性
http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。
相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
其语法格式与name相同。
<meta http-equiv="参数" content="参数变量值">;
http-equiv属性参数:
Expires(期限)
在content内设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。
Pragma(cache模式)
禁止浏览器从本地计算机的缓存中访问页面内容。
<meta http-equiv="Pragma"content="no-cache">
这样设定,访问者将无法脱机浏览。
Refresh(刷新)
自动刷新并指向新页面。
<meta http-equiv="Refresh" content="2;URL=https://www.hao123.net">
其中的2是指停留2秒钟后自动刷新到后面的URL网址。
content-Type(显示字符集的设定)
设定页面使用的字符集。
content-Language(显示语言的设定)
2.sass的项目文件结构。
大体都会分成几类,比如变量,reset,混合器,组件,主题等等
例 sass文件夹下分为:
base文件夹,用来一些模板相关,比如reset。
helpers,用来放一些工具和帮助文件。比如mixin混合器文件,或者config包含整个项目的全局变量。
layout会放一些布局相关的文件,这里一般放一些header、footer。
component这里面一般放一些小组件,layout文件夹下放了一些全局的宏观的布局文件,component则是放一些微观的,特定的组件,比如按钮什么的。
page,则是放一些针对单一页面写的特定的样式。并且其文件名通常都是页面的名称。
themes则是放一些不同的主题- -
vendors,这个放一些外部引用的文件。
明天计划学习
继续task14
注: 【unsolved】截日报发出前未解决的问题
【solved】已解决现象但并未从根本上解决问题
【solved】已解决
评论