boxmoe_header_banner_img

Hello! 欢迎来到盒子萌!

加载中

文章导读

15响应式布局阿里图标


avatar
Jack 2022年 10月 15日 125

响应式布局、阿里图标等

1. 阿里图标

使用场景及原理

img

原理:将小图标定义成字体,通过引入字体来展示这些小图标。因为此时的小图标相当于是一个文字,所以支持文字对应的所有样式。

使用步骤

  1. 打开阿里图标官网(opens new window)
  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新增标签

下面列举几个较为常用的标签,其他不常用的标签大家可查阅W3C了解。

结构性语义化标签

标签 描述
header 定义了文档的头部区域
nav 定义文档的导航部分。
article 定义页面独立的内容区域。
section 定义了文档的某个区域。比如章节、头部、底部或者文档的其他区域。
aside 定义页面的侧边栏内容。
footer 标签定义文档或者文档的一部分区域的尾部。

视频音频标签

  • video视频标签 的标签属性

    • src

    设置路径。

    • width/height

    设置标签的大小,类似于img,但是不会使视频文件拉伸。

    • controls

    无须值,有该属性则 显示视频控制面板。

    • muted

    无须值,有该属性则 静音。

    • autoplay

    无须值,有该属性则 自动播放。chrome为了用户体验不允许自动播放,但是允许静音下自动播放。

    • loop

    无须值,有该属性则 放完之后循环播放(默认是放完了停止)。

    • poster

    设置封面海报,需要指定一个图片地址。

    • preload

    设置页面加载后是否加载视频(当设置了autoplay时,此属性会被忽略):

    • auto – 加载整个视频
    • metadata – 加载元数据(视频时长、尺寸大小等)
    • none – 不加载视频
  • audio音频标签 的标签属性

    • 与video标签基本一毛一样……当然,audio不支持 width、height,不支持海报poster,chrome也不支持静音播放(本来就听个响,都静音了还放啥…)

4. 补充

iframe框架

允许在页面中通过iframe标签引入另一个页面:

<iframe src="页面地址" width="200" height="200"></iframe>

倒影

-webkit-box-reflect呈现元素的倒影。目前只有谷歌内核浏览器支持倒影,所以该属性必须加兼容前缀-webkit

<style>
    img{
        /*方位 偏移 遮罩*/
        -webkit-box-reflect:right 0 linear-gradient(90deg,transparent,rgba(255,255,255,.3));
    }
</style>
<img src="http://static.zzhitong.com/lesson-files/html/img/14-1-images/4.png" alt="">
  • 方位

    • above 表示生成的倒影在元素的上方;
    • below 表示生成的倒影在元素的下方;
    • left 表示生成的倒影在元素的左侧;
    • right 表示生成的倒影在元素的右侧。
  • 偏移

    倒影和原元素的间隔。

  • 遮罩

    • none :无遮罩;
    • 渐变写法:用渐变色遮罩;
    • url(地址):用指定地址图像做遮罩。

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属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。
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;

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>

自定义滚动条样式

//滚动条样式
::-webkit-scrollbar {/*滚动条整体样式*/
  width: 5px;     /*高宽分别对应横竖滚动条的尺寸*/
  height: 1px;
}
::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
  border-radius: 5px;
  -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
  background: rgba(0,167,232,.3);
}
::-webkit-scrollbar-track {/*滚动条里面轨道*/
  -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
  border-radius: 10px;
  background: #EDEDED;
}


评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码