发表于: 2018-08-23 23:51:13

1 554


一、今天完成的事情


主要内容:雪碧图使用总结/label标签/transition/overflow


1、雪碧图

在传统的居中布局时,我们常用background-position这个属性来进行雪碧图的定位,在减少数据量的同时,保证准确定位。在移动端使用越来越重的现在,以往的传统定位,已经无法达到目的.


1)复习background相关属性:

background-image:设置一个元素的背景图像。

元素的背景是元素的总大小,包括填充和边界(但不包括边距)。

默认情况下,background-image放置在元素的左上角,并重复垂直和水平方向。

提示:请设置一种可用的背景颜色,这样的话,假如背景图像不可用,可以使用背景色带代替。


background-position:

背景图片相对容器原点的起始位置。


background-size:规定背景图的尺寸;

语法:background-size: width height;

取值:auto | length | percentage | cover | contain

 auto: 自适应;


2)雪碧图应用的四种场景:

        场景1、非响应式下的雪碧图,且子图尺寸相同

        场景2、响应式下的雪碧图,且子图尺寸相同

        场景3、非响应式下的雪碧图,且子图尺寸不同

        场景4、响应式下的雪碧图,且子图尺寸不同

参考:https://www.cnblogs.com/hity-tt/p/6345007.html,这个链接说的很仔细,但是有点把问题复杂化。


子图尺寸相同:

非响应式下,background-position使用实际坐标定位或是百分比都很方便;

响应式下,background-size:a%  auto,a=雪碧图宽度*100/子图宽度=横坐标上子图个数n*100.

background-position的百分比值不变。

子图尺寸不同:

非响应式下,background-position:x y;使用实际横纵坐标值即可;

响应式下,为了实现容器缩放时背景图也同比例缩放,需要将设置景图大小相对容器为固定值,即:

background-size: a1%  auto;a1=雪碧图宽度*100/子图宽度;

此时由于雪碧图大小变化,无法用实际坐标值定位,需要用到百分比。

background-position:x% y%; x%=子图起始点横坐标/雪碧图宽度,y%=子图起始点纵坐标/雪碧图宽度。


2、<label> 标签

<label> 标签为 input 元素定义标注(标记)。"for" 属性可把 label 绑定到另外一个元素。

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。

如果您在 label 元素内点击文本,就会触发此控件。当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label> 标签的 for 属性应当与相关元素的 id 属性相同。

<label for="element_id">


3、transition属性

transition: property duration timing-function delay;


transition-property: none|all| property;

transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);


4、overflow 属性

overflow属性指定如果内容溢出一个元素的框,会发生什么。

overflow-x/y属性指定如果它溢出了元素的内容区是否剪辑左/右(顶部/底部)边缘内容。


二、遇到的问题


1、导航栏怎么设置动画效果?之前设置的点击按钮前隐藏,点击后显示,发现transition没用。

改成了点击按钮前高度0,点击后高度还原才能用transition。



2、label标签内嵌套button时,按下button无法触发复选框的选中效果。。why?


三、明日计划

1、研究下纯CSS如何制作轮播图;

2、继续完成任务14.


四、收获

1、深入了解雪碧图的自适应用法;

2、通过编写响应式导航栏,学到label标签搭配input如何控制鼠标动作;

3、动画效果的设置。



返回列表 返回列表
评论

    分享到