发表于: 2019-04-08 20:54:21

1 947


今天完成的事情:今天完成了任务14的轮播图

明天计划的事情:明天计划把任务14,15做完
遇到的问题:轮播图的原理

基础用法(详见w3c):

下面开始代码实现步骤

 

1,轮播图的实现原理如图(渣渣美术手感,谢绝吐槽─━ _ ─━)

  html元素构建结构类似这样

<div>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>1</li>
  </ul>
</div>

 如图,设置每个li标签的宽高和显示元素<div>相同,这时候会发现ul的长度会超过div,再利用css属性中overflow:hidden,(内容会被修剪,并且其余内容是不可见的)。他会隐藏掉多余的部分,这样:

这是后你移动ul,就会产生图片移动的轮播效果

好,下面我们进入代码编写模块。

首先根据 animation的设置,写一个

@keyframes 
 
@keyframes imgMove {
  from {
    transform: translateX(0px);
  }
  to {
    transform: translateX(-882px);
  }
}
这里可以看到,我是利用transform: translateX( )来控制他的位移的,
 
然后是animation 的编写
 
  animation: imgMove 5s linear infinite;
介绍一下设置
 
  1- animation-name  执行动画的名称imgMove
  2-animation-duration  完成动画的时间5s
  3-animation-timing-function 完成动画是的速度   linear -匀速
  4-animation-iteration-count  播放的次数  infinite-无限次播放 

收获:完成了轮播图,但是还是没有理解轮播图的原理

任务十二总结


任务耗时3天

任务总结:任务十二主要就是侧边栏,侧边栏要注意input的用法还有checked的运用。还有一点细节就是点击侧边栏伸出来后要注意主页面改变样式。这几个地方注意到了并且能解决,任务十二就能很简单的完成了,任务十二的第二和第三个页面很简单,以前做过。没什么区别,只需要优化一下代码就OK了。最后一定要注意设置最小宽度和最大宽度,还有body背景颜色,要把背景和你做的分开,要能明显的看出来层级关系

深度思考

1.开发过程中应该遵守哪些编码规范和class命名规范? 

html规范

1、页面的第一行添加标准模式声明<!DOCTYPE html>

2、代码缩进:tab键设置四个空格(通常在软件右下角设置相应空格大小)

3、html中除了开头的DOC和'UTF-8'或者head里特殊情况可以大写外,其他都为小写,css类都为小写

4、建议为html根元素指定lang属性,从而为文档设置正确的语言lang="zh-CN"

5、不同doctype在不同浏览器下会触发不同的渲染模式< meta http-equiv="X-UA-Compatible" content="IE=Edge">

6、非特殊情况下样式文件必须外链至< head >...< /head>之间;非特殊情况下JavaScript文件必须外链至页面底部

7、尽可能减少div嵌套

8、在页面中尽量避免使用style属性,即style="…";写在相应的样式文件中

9、对于属性的定义,确保全部使用双引号,绝不要使用单引号

10、背景图片请尽可能使用sprite技术,减小http请求

11、给区块代码及重要功能(比如循环)加上注释,方便后台添加功能

12、不要使用@import,与<link>标签相比,@import指令要慢很多,不光增加了额外的请求次数,还会导致不可预料的问题。

CSS规范

排版规范

1、如果是在html中写内联的css,则必须写成单行

2、每一条规则的大括号{前后加空格

3、属性名冒号之前不加空格,冒号之后加空格

4、每一个属性值后必须添加分号,并且分号后加空格

5、多个selector共用一个样式集,则多个selector必须写成多行形式

class命名

1、规则命名中,一律采用小写加中划线的方式,不允许使用大写字母或_

2、命名避免使用中文拼音,应该采用更简明有语义的英文单词进行组合

3、不允许通过1、2、3等序号进行命名;避免class与id重名

4、class用于标识某一个类型的对象,命名必须言简意赅

5、尽可能提高代码模块的复用,样式尽量用组合的方式

6、规则名称中不应该包含颜色(red/blue)、定位(left/right)等与具体显示效果相关的信息。应该用意义命名,而不是样式显示结果命名


2.那种规范才是最好的规范? 

2.1 文件

[建议] CSS 文件使用无 BOM 的 UTF-8 编码。 解释: UTF-8 编码具有更广泛的适应性。BOM 在使用程序或工具处理文件时可能造成不必要的干扰。

2.2 缩进

[强制] 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。 示例:

.selector{margin:0;padding:0;}

2.3 空格

[强制] 选择器 与 { 之间必须包含空格。 示例:

.selector{ }

[强制] 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格。 示例:

margin:0;

[强制] 列表型属性值 书写在单行时,, 后必须跟一个空格。 示例:

font-family: Arial, sans-serif;

2.4 行长度

[强制] 每行不得超过 120 个字符,除非单行不可分割。 解释: 常见不可分割的场景为URL超长。 [建议] 对于超长的样式,在样式值的 空格 处或 , 后换行,建议按逻辑分组。 示例:

/* 不同属性值按逻辑分组 */background:transparent url(aVeryVeryVeryLongUrlIsPlacedHere)no-repeat00;/* 可重复多次的属性,每次重复一行 */background-image:url(aVeryVeryVeryLongUrlIsPlacedHere)url(anotherVeryVeryVeryLongUrlIsPlacedHere);/* 类似函数的属性值可以根据函数调用的缩进进行 */background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0.04, rgb(88,94,124)),color-stop(0.52, rgb(115,123,162)) );

2.5 选择器

[强制] 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。 示例:

/* good */.post,.page,.comment{line-height:1.5;}/* bad */.post,.page,.comment{line-height:1.5;}

2.6 属性

[强制] 属性定义必须另起一行。 示例:

/* good */.selector{margin:0;padding:0;}/* bad */.selector{margin:0;padding:0;}

[强制] 属性定义后必须以分号结尾。 示例:

/* good */.selector{margin:0;}/* bad */.selector{margin:0}

通用

3.1 选择器

[强制] 如无必要,不得为 id、class 选择器添加类型选择器进行限定。 解释: 在性能和维护性上,都有一定的影响。 示例:

/* good */#error,.danger-message{font-color:#c00;}/* bad */dialog#error,p.danger-message{font-color:#c00;}

3.2 属性缩写

[建议] 在可以使用缩写的情况下,尽量使用属性缩写。 示例:

/* good */.post{font:12px/1.5arial, sans-serif;}/* bad */.post{font-family: arial, sans-serif;font-size:12px;line-height:1.5;}

3.3 属性书写顺序

[建议] 同一 rule set 下的属性在书写时,应按功能进行分组,并以 Formatting Model(布局方式、位置) > Box Model(尺寸) > Typographic(文本相关) > Visual(视觉效果) 的顺序书写,以提高代码的可读性。

解释:

Formatting Model 相关属性包括:position / top / right / bottom / left / float / display / overflow 等

Box Model 相关属性包括:border / margin / padding / width / height 等

Typographic 相关属性包括:font / line-height / text-align / word-wrap 等

Visual 相关属性包括:background / color / transition / list-style 等 另外,如果包含 content 属性,应放在最前面。


返回列表 返回列表
评论

    分享到