css3网格效果(整理)

一、总结

一句话总结:

css3网格原理是渐变(linear-gradient)绘制图形,background-size属性指定重复的小单元的大小
多个渐变(linear-gradient)结合起来可以绘制复杂的形状

1、如下代码绘制线条的原理是什么?

|||-begin

  1. background:linear-gradient(top, transparent 39px, blue 40px);
  2. background-size: 100% 40px;

|||-end

前面39px的都是透明的,那只要让40px之后的也是透明的或者看不到不就成了一条线了么

2、linear-gradient(90deg,rgba(200,0,0,.5) 70%,transparent 0)中的各个部分的意思?

1、90deg表示方向或者角度,
2、70%表示宽度百分比
3、transparent 0表示透明的0px

3、linear-gradient(90deg,rgba(200,0,0,.5) 70%,transparent 0)中的transparent表示什么?

transparent表示颜色,透明的颜色

4、css中background-color:transparent与opacity:0有什么区别?

【元素的背景色 透明】:background-color:transparent;背景色设置为transparent,只会是元素的背景色为透明的,元素里面的其他元素或内容都没有影响;
【元素背景及子元素和内容 透明】:opacity:0; 透明度设置为0,不仅使得元素的背景透明,连其子元素和内容都会变透明。

5、渐变中的HSLA表示什么?

H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360
S:Saturation(饱和度)。取值为:0.0% - 100.0%
L:Lightness(亮度)。取值为:0.0% - 100.0%
A:Alpha透明度。取值0~1之间。

6、linear-gradient的参数有哪些?

只有两个:方向和终点颜色,终点颜色可以有多个

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

二、使用CSS3绘制网格线

转自或参考:使用CSS3绘制网格线 | Tencent AlloyTeam
http://www.360doc.com/content/12/0802/05/21412_227764422.shtml

Css
1
2
3
4
.grid{
    background:
        -webkit-linear-gradient(toptransparent 39pxblue 40px);
}

它的效果是酱紫滴:

前面39px的都是透明的,那只要让40px之后的也是透明的或者看不到不就成了一条线了么。这时background-size就上场咯。何谓background-size?w3cschool如是说:

The background-size property specifies the size of the background images.

也就是指定背景图片(渐变也是个图片)的大小。比如说一张100 x 100的图片,可以用这个属性指定只显示其中的30 x 20(纯属举例)。这里把水平限制设置为100%(也就是不限制),垂直方向限制成只显示40px的范围。这样就会漏出1像素的蓝色,看上去就成了一条线了。

Css
1
2
3
4
5
.grid{
    background:
        -webkit-linear-gradient(toptransparent 39pxblue 40px);
        background-size100% 40px;
}

可以看到,当不设置背景平铺的时候,横线就出来了吧。加上repeat之后,hoho,就成了信纸咯~

那么,接下来的事就容易过剃头啦(么剃头很容易么)!利用CSS3的多重背景,依个葫芦画个瓢再加个垂直的竖线,就搞定咯。完整的代码如下:

Css
1
2
3
4
5
6
7
.grid{
    background:
        -webkit-linear-gradient(toptransparent 39pxblue 40px),
        -webkit-linear-gradient(lefttransparent 39pxblue 40px)
        ;
    background-size40px 40px;
}

呼~大功告成!如果你的浏览器支持CSS3,可以到这里查看live demo。不过这个网格是不是有点单调?如果你够创意,可以整成更炫哦~比如说:2px宽,颜色相间的网格——

嗯,剩下的就各位自由发挥了,hoho~~

三、css网格背景

参考或转自:css网格背景 - 简书
https://www.jianshu.com/p/88c24110e88e

利用background-image里的liner-gradient属性可以实现一些简单的css网格背景,能自适应背景,挺实用的,下面就简单的介绍两款网格背景

1.桌布花纹

红.png
 

linear-gradient(90deg,rgba(200,0,0,.5) 70%,transparent 0)中的

70%表示宽度,

90deg表示方向或者角度,

transparent 0表示透明的0px

代码块

  1. height:300px;
  2. width:300px;
  3. background:white;
  4. background-image:linear-gradient(90deg,rgba(200,0,0,.5) 50%,transparent 0),
  5. linear-gradient(rgba(200,0,0,.5) 50%,transparent 0);
  6. background-size:30px 30px;

2.蓝图网格

蓝色.png

代码块

  1. height: 300px;
  2. width: 300px;
  3. background:#58a;
  4. background-image: linear-gradient(white 2px,transparent 0),
  5. linear-gradient(90deg, white 2px,transparent 0),
  6. linear-gradient(hsla(0,0%,100%,.3) 1px,transparent 0),
  7. linear-gradient(90deg,hsla(0,0%,100%,.3) 1px,transparent 0);
  8. background-size:75px 75px,75px 75px,15px 15px,15px 15px;

四、css3实现网格背景,background-image,background-size

转自或参考:css3实现网格背景,background-image,background-size
https://www.cnblogs.com/lizimeme/p/7251683.html

用纯css3实现网格背景,应该怎么做呢?

需要给容器设置background-image,background-size属性

  1. .container{
  2. background-image: linear-gradient(90deg, rgba(200, 0, 0, 0.15) 10%, rgba(0, 0, 0, 0) 10%),
                      linear-gradient(rgba(200, 0, 0, 0.15) 10%, rgba(0, 0, 0, 0) 10%);
  3. background-size: 10px 10px;
  4. width: 600px;
  5. height: 300px;
  6. }

background-image 属性为元素设置背景图像。

元素的背景占据了元素的全部尺寸,包括内边距和边框,但不包括外边距。

默认地,背景图像位于元素的左上角,并在水平和垂直方向上重复。

background-size   规定背景图像的尺寸

一般值为:

  1. background-size: length|percentage|cover|contain;

length:    设置背景图像的高度和宽度。

第一个值设置宽度,第二个值设置高度。

如果只设置一个值,则第二个值会被设置为 "auto"。

percentage:  以父元素的百分比来设置背景图像的宽度和高度。

第一个值设置宽度,第二个值设置高度。

如果只设置一个值,则第二个值会被设置为 "auto"。

cover:    把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。

背景图像的某些部分也许无法显示在背景定位区域中。

contain: 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。

 

五、网格实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. .grid{
  8. height: 300px;
  9. width: 300px;
  10. background:#58a;
  11. background-image: linear-gradient(white 1px,transparent 0),
  12. linear-gradient(90deg, white 1px,transparent 0),
  13. linear-gradient(hsla(0,0%,100%,.3) 1px,transparent 0),
  14. linear-gradient(90deg,hsla(0,0%,100%,.3) 1px,transparent 0);
  15. background-size:15px 15px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <div class="grid">
  21.  
  22. </div>
  23. </body>
  24. </html>

六、相关知识

css中background-color:transparent与opacity:0有什么区别

css中的

1
background-color:transparent;

背景色设置为transparent,只会是元素的背景色为透明的,元素里面的其他元素或内容都没有影响;而css中的

1
opacity:0;

透明度设置为0,不仅使得元素的背景透明,连其子元素和内容都会变透明。

 

HSLA

说明:

HSLA(H,S,L,A)

取值:

H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360

S:Saturation(饱和度)。取值为:0.0% - 100.0%

L:Lightness(亮度)。取值为:0.0% - 100.0%

A:Alpha透明度。取值0~1之间。

说明:

HSL记法

此色彩模式与HSL相同,只是在HSL模式上新增了Alpha透明度。

兼容性:

浅绿 = 支持

红色 = 不支持

粉色 = 部分支持

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

描述
direction 用角度值指定渐变的方向(或角度)。
color-stop1, color-stop2,... 用于指定渐变的起止颜色。
 
 
 
 
 
 

css3网格效果(整理)的更多相关文章

  1. Bounce.js – 快速创建漂亮的 CSS3 动画效果

    Bounce.js 是一个用于制作漂亮的 CSS3 关键帧动画的 JavaScript 库,使用其特有的方式生成的动画效果.只需添加一个组件,选择预设,然后你就可以得到一个短网址或者导出为 CSS 代 ...

  2. 《JavaScript实用效果整理》系列分享专栏

    整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 <JavaScript实用效果整理>已整理成PDF文档,点击可直 ...

  3. Hover.css:一组超实用的 CSS3 悬停效果和动画

    Hover.css 是一套基于 CSS3 的鼠标悬停效果和动画,这些可以非常轻松的被应用到按钮.LOGO 以及图片等元素.所有这些效果都是只需要单一的标签,必要的时候使用 before 和 after ...

  4. 10个实用的 CSS3 按钮效果制作教程

    人们往往喜欢那些有更多互动元素的网站,因此现在很多设计师专注于他们的 CSS3 技能.这是因为 CSS3 技能可以帮助他们在很大的程度上实现所需的吸引力.这里分享的10个优秀的 CSS3 按钮效果制作 ...

  5. 学习制作精美 CSS3 按钮效果的10个优秀教程

    由于互联网世界正在发生变化,人们往往喜欢那些有更多互动元素的网站,因此现在很多 Web 开发人员也在专注于提高他们的 CSS3 技能,因为 CSS3 技能可以帮助他们在很大的程度上实现所需的吸引力.这 ...

  6. Cool!15个创意的 CSS3 文本效果【下篇】

    这里文章收集了15个创意的 CSS3 文本效果,所有的都是精心挑选,这些可能会增加创意的火花到你的下一个项目.其中有些是用于特定用途,而另一些则适用于多种用途.如果你想要一个精彩而又充满色彩的文字效果 ...

  7. CSS3 动画效果带来的bug

    css3 动画效果比如transition:all 2s linear;这种用来计算及时的物体坐标的话会带来一定的问题 比如把一个DIV从A点移动到B点.JS为DIV.style.left=B; 但是 ...

  8. animate.css 一些常用的CSS3动画效果

    大家已经开始在项目中使用一些CSS3动画效果了吧,这让网站在高端浏览器上看起来很上流.animate.css是一个老外做的各种CSS3动画的合集,比较全,也很炫,大家可以参考学习一下. 项目主页:ht ...

  9. [HTML] CSS3 文本效果

    CSS3 文本效果 CSS3中包含几个新的文本特征. 在本章中您将了解以下文本属性: text-shadow word-wrap 浏览器支持

随机推荐

  1. vue学习(8)-过渡transition&动画animate

      进入之前                                                    离开之后 v-enter---v-enter-to            v-lea ...

  2. IPhone中H5页面用on绑定click无效的解决方法

    首先声明本人资质尚浅,本文只用于个人总结.如有错误,欢迎指正.共同提高. --------------------------------------------------------------- ...

  3. appium-清空输入框的内容后,再次输入内容会回退最后两个字符串

    问题描述 有两个输入框,用户名和密码输入框 调用set_text方法,输入用户名 再次调用set_text方法,输入密码 清空用户名输入框的内容后,再次输入内容会回退最后两个字符串 出问题的代码 de ...

  4. linux安装vsftpd后无法登陆

    安装完成后在主机上登陆时,不管是输入用户,还是匿名都无法登陆 经过检查,发现是因为/etc/hosts.deny禁止了所有ip访问 将hosts.deny中的all:all删除,或者在/etc/hos ...

  5. 7. Function Decorators and Closures

    A decorator is a callable that takes another function as argument (the decorated function). The deco ...

  6. MySQL中DATA类型数据和DATATIME类型数据的比较

    在网上大题查了下这个问题,网上有的人说可以直接比较,并给出了测试用例,也有的人说不能比较,于是我自己尝试了一下,实际测试是可以的,不过,当传入DATA类型时间与DATATIME类型时间进行比较的时候, ...

  7. 上传时excel类型accept的MIMI类型

    1.excel文件类型 accept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/v ...

  8. [USACO19JAN]Redistricting——单调队列优化DP

    原题链接 首先有一个\(O(nk)\)的很显然的\(dp\),把荷斯坦牛看成\(1\),把更赛牛看成\(-1\),这样就可以很方便地通过前缀和来判断某一段中谁有优势了 考虑怎么优化,观察转移: \[f ...

  9. mysql优化之SQL优化

    https://www.cnblogs.com/binghou/p/9096610.html (SQL优化)

  10. Oracle查看锁表和解锁

    --注意权限问题 1.查看是否有被锁的表: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a ...