发表于: 2019-04-12 21:16:57

1 673


Day 52     task14-4


今天完成的事情

 

      1.完成导航栏

      2.完成头部和尾部的公共部分


遇到的问题


      1.【solved】完成导航栏

借助checkbox的checked状态,因为复选按钮可以反复选择。根据checked的状态,才确认下拉列表框是否能够显示隐藏。

<span class="visible-xs">
<a href=""><img src="http://jns.img.bucket.ks3-cn-beijing.ksyun.com/skill/skill_html/images/home-logo-hs.png" alt=""></a>
<div class="nav-toggle-box">
<label for="nav-toggle">
<span></span>
<span></span>
<span></span>
</label>
</div>
</span>
<input type="checkbox" name="checkbox" id="checkbox">
<div class="navul">
<ul>
<li><a href="">首页</a></li>
<li><a href="">职业</a></li>
<li><a href="">推荐</a></li>
<li><a href="">关于</a></li>
</ul>
</div>

#checkbox{
display: none;
}
#checkbox:checked ~ .navul{
display: block;
}
.navul{
@media screen and (max-width: 768px){
display: none;
}

制作点击按钮

用媒体查询把768px以上的分辨率显示屏把按钮隐藏

最后再用hover属性制作鼠标经过时的不同样式

      2.【solved】css轮播图

先给父元素盒子相对定位,宽度100%沾满整个屏幕,溢出部分隐藏,

存放图片的盒子用绝对定位,宽度300vw,因为图片是横向排列,所以要设置的宽度是父元素的图像的倍数,

在利用white-space:nowra;不换行属性防止图片换行。

<div class="banner">
<ul>
<li>
<img src="../img/img1/banner1.png" alt="">
</li>
<li>
<img src="../img/img1/banner2.jpg" alt="">
</li>
<li>
<img src="../img/img1/banner3.png" alt="">
</li>
</ul>
</div>
.banner{
position: absolute;
width: 300%;
visibility: hidden;
white-space: nowrap;
ul{
margin: 0;
padding: 0;
font-size: 0;
@include flex(start,start );
li{
list-style: square;
background: #fafafa;
width: 100vw;
img{
width: 100vw;
}
}
}
}


【方法一】通过animation绑定图片实现自动轮播的动画效果。

animation属性:动画;
定义和用法:
animation 属性是一个简写属性,用于设置六个动画属性:
(1)animation-name:规定需要绑定到选择器的keyframe(关键帧)名称。
(2)animation-duration:规定完成动画所花费的时间,以秒和毫秒计算。
值:time,0意味着没有动画效果。
(3)animation-timing-function:规定动画的速速曲线,如何完成一个周期。
值:linear 均速;ease 先慢后快,结束前变慢(默认);ease-in 低速开始;ease-out 低速结束;ease-in-out 低速开始和结束;cubic-bezie(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值;
(4)animation-delay:规定在动画开始之前的延迟。
值:time 默认值为0;
(5)animation-iteration-count:规定动画应播放的次数。
值:n 一个数字,定义播放多少次动画 默认值1;
lnfinite:动画无限次播放;
(6)animation-direction:规定是否应该轮流反向播放动画。
值:normal 正常;reverse:反向播放;alternate      在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放;alternate-reverse   在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放;

(7)animation-play-state: 规定动画是否正在运行或暂停。默认是 "running"。

(8)animation-fill-mode: 规定对象动画时间之外的状态。


通过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】已解决



返回列表 返回列表
评论

    分享到