前端学习day28:响应式布局、阿里图标等
作者:互联网
1. 阿里图标
使用场景及原理
原理:将小图标定义成字体,通过引入字体来展示这些小图标。因为此时的小图标相当于是一个文字,所以支持文字对应的所有样式。
使用步骤
1.打开阿里图标官网(https://www.iconfont.cn/ )
2.登陆
3.选择需要的图标加入购物车
4.全部选择完后,点击右上角购物车,下载代码
5.打开下载的文件中的 demo
页面,其中会详细的介绍三种引入方式、各方式的优缺点以及对应代码。选择合适的一种方式引入到自己代码中即可。
2. 响应式布局
什么是响应式布局
CSS3响应式布局是指同一页面在不同的浏览器窗口尺寸下展示不同的布局方式。
传统的开发方式是PC端一套代码,移动端再开发另一套代码。而响应式只需要一套代码就可以了,既可以适用于PC端也可以适用于移动端。
响应式布局的缺点是需要的css比较多。
实现响应式的方案
方案一:媒体查询
最好用最常用的方案。媒体查询可以规定元素在页面对应的尺寸展示对应的css样式。
/*
媒体类型:
screen 用于电脑屏幕,平板电脑,智能手机等。
all 用于所有设备
(一般选用这两个值之一即可,其他值大部分被废弃或者用不到)
and:
每一个值之间的链接符号
*/
/*初始样式*/
body{background-color: #aaa;}
/*屏幕宽度 小于700px 时*/
@media screen and (max-width: 700px ){
body{ background-color: #1dba2d;}
}
/*屏幕宽度 大于700px 且 小于900px 时*/
@media screen and (min-width: 700px) and (max-width: 900px ){
body{ background-color: #3f1dba;}
}
/*屏幕宽度 大于900px 且 小于1200px 时*/
@media screen and (min-width: 900px) and (max-width: 1200px ){
body{ background-color: #ba1d54;}
}
/*屏幕宽度 大于1200px 时*/
@media screen and (min-width: 1200px ){
body{ background-color: #ba931d;}
}
方案二:百分比布局
尽量不使用固定的宽度,用百分比代替,从而做到随窗口缩小布局变化。但是适用性并不高,做出来的页面每时每刻都在变各种布局文字等看起来不好看。一般会配合着媒体查询在某些局部的布局使用。
方案三:rem
rem是一个相对单位, 1rem = html的font-size大小。所以可以通过js在改变页面宽度时修改html的font-size,从而做到改变页面中所有rem单位对应的样式。同方案二,适用性并不高,某些布局中宽高字体等大小不太好控制。
3. HTML5新增标签
下面列举几个较为常用的标签
结构性语义化标签
标签 | 描述 |
---|---|
header | 定义了文档的头部区域 |
nav | 定义文档的导航部分 |
article | 定义页面独立的内容区域 |
section | 定义了文档的某个区域。比如章节、头部、底部或者文档的其他区域 |
aside | 定义页面的侧边栏内容 |
footer | 标签定义文档或者文档的一部分区域的尾部 |
ps:header 标头
ps:nav为navigate(航行,航海,导航)的简称,在这里译为导航
视频音频标签
video视频标签的标签属性
src
设置路径。
width/height
设置标签的大小,类似于img,但是不会使视频文件拉伸。
controls
无须值,有该属性则显示视频控制面板。
muted ps:muted [ˈmjuːtɪd] 静静的,静音
无须值,有该属性则静音。
autoplay
无须值,有该属性则 自动播放。chrome为了用户体验不允许自动播放,但是允许静音下自动播放。
loop ps:loop [luːp] n.环形;环状物;圆圈;(绳、电线等的)环,圈;循环电影胶片;循环音像磁带v.使成环;使绕成圈;成环形运动
无须值,有该属性则放完之后循环播放(默认是放完了停止)。
poster
设置封面海报,需要指定一个图片地址。
preload ps:preload 预加载
设置页面加载后是否加载视频(当设置了autoplay时,此属性会被忽略):
auto - 加载整个视频
metadata - 加载元数据(视频时长、尺寸大小等) ps:metadata 元数据
none - 不加载视频
audio音频标签 的标签属性
与video标签基本一样,当然,audio不支持 width、height,不支持海报poster,chrome也不支持静音播放
4. 补充
iframe框架
允许在页面中通过iframe
标签引入另一个页面:
可以配合a标签的target 跳转name
<iframe src="页面地址" width="200" name="" height="200"></iframe>
filter属性
值 | 描述 |
---|---|
none | 默认值,没有效果。 |
blur(px) | 给图像设置高斯模糊。"radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊; 如果没有设定值,则默认是0;这个参数可设置css长度值,但不接受百分比值。 |
brightness(%) | 给图片应用一种线性乘法,使其看起来更亮或更暗。如果值是0%,图像会全黑。值是100%,则图像无变化。其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。如果没有设定值,默认是1。 |
contrast(%) | 调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。 |
drop-shadow(h-shadow v-shadow blur spread color) | 给图像设置一个阴影效果。阴影是合成在图像下面,可以有模糊度的,可以以特定颜色画出的遮罩图的偏移版本。 函数接受<shadow>(在CSS3背景中定义)类型的值,除了"inset"关键字是不允许的。该函数与已有的box-shadow box-shadow属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。<shadow>参数如下:<offset-x> <offset-y>(必须)这是设置阴影偏移量的两个 <length>值. <offset-x>设定水平方向距离. 负值会使阴影出现在元素左边. <offset-y>设定垂直距离.负值会使阴影出现在元素上方。查看<length>可能的单位.如果两个值都是0, 则阴影出现在元素正后面 (如果设置了 <blur-radius> and/or <spread-radius>,会有模糊效果).<blur-radius>(可选)这是第三个code><length>值. 值越大,越模糊,则阴影会变得更大更淡.不允许负值 若未设定,默认是0 (则阴影的边界很锐利).**<spread-radius>** (可选)这是第四个 <length>值. 正值会使阴影扩张和变大,负值会是阴影缩小.若未设定,默认是0 (阴影会与元素一样大小). 注意: Webkit, 以及一些其他浏览器 不支持第四个长度,如果加了也不会渲染。 **<color>** (可选)查看 <color>该值可能的关键字和标记。若未设定,颜色值基于浏览器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 会应用color**color**属性的值。另外, 如果颜色值省略,WebKit中阴影是透明的。 |
grayscale(*%*) | 将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0; |
hue-rotate(deg) | 给图像应用色相旋转。"angle"一值设定图像会被调整的色环角度值。值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。 |
invert(%) | 反转输入图像。值定义转换的比例。100%的价值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。 |
opacity(%) | 转化图像的透明程度。值定义转换的比例。值为0%则是完全透明,值为100%则图像无变化。值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。 |
saturate(%) | 转换图像饱和度。值定义转换的比例。值为0%则是完全不饱和,值为100%则图像无变化。其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。 若值未设置,值默认是1。 |
sepia(%) | 将图像转换为深褐色。值定义转换的比例。值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0; |
ps:blur [blɜː(r)] n.(移动的)模糊形状;模糊的记忆 v.(使)变得模糊不清;(使)视线模糊;(使)看不清;(使)难以区分
column多列布局
<style>
.newspaper{
/*列数*/
column-count:4;
/*每列宽度*/
/*浏览器会根据内容多少来推算更为合理的 列数 和 宽度*/
column-width:100px;
/*count width可以使用推荐复合写法 column:100px 10; 让浏览器推算合理的布局*/
/*列间距*/
column-gap:40px;
/*列之间边框样式*/
column-rule:4px outset #ff00ff;
}
</style>
<div class="newspaper">
当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。
</div>
标签:day28,标签,100%,图像,值为,width,阿里,0%,图标 来源: https://blog.csdn.net/ysccsyysc/article/details/117489091