关键词:
1. 元素的 width/height/padding/margin 的百分比基准
设置 一个元素 width/height/padding/margin 的百分比的时候,大家可知道基准是什么?
举个栗子:
.parent { width: 200px; height: 100px; } .child { width: 80%; height: 80%; } .childchild { width: 50%; height: 50%;
padding: 2%;
margin: 5%;
}
<div class="parent"> <div class="child"> <div class="childchild"></div> </div> </div>
上段代码中,childchild 元素的 width 是多少? height 是多少?padding 是多少? margin是多少?
元素的 height 百分比基准是父级元素的 height, 元素的 width, padding, margin 百分比基准是父级元素的 width。
由此,相信大家都已经有数了,大家可以试一下呢~~
面试经常会遇到一个简单的css样式问题 , 实现一个自适应的正方形,原理就是基于上面的那些知识了。只需要
#box { width: 50%; padding-top: 50%; background: #000; }
因为元素的 width 和 padding 的基准值都是父级元素的 width, 而 body 的 width 就是浏览器窗口啦~~,so 这样设置就可以随着浏览器窗口大小变化,正方形自适应了呢~~
2. 纯css实现立体摆放图片效果
言归正传,想要实现如下图中图片的立体摆放效果,就需要应用一下 padding ,width, height 的知识了。
有点眼熟,是不是跟小说软件里推荐图书的样式有些相似呢?
这里,首先我们看下其位置摆放,一张图片水平居中并且靠前,其他两边图片分别左右对齐,并且靠后一些,呈现一种立体摆放的样子。这里我学到了一种完全依赖css,简单的写法即可实现这种立体的效果。
· 不同的高度是 padding-top 有大有小撑起来的。
· 前后效果是 z-index 折叠顺序控制的。
· 排列上使用了 nth-of-type 伪元素控制 + positon 定位结合。
是不是有点思路了呢?不绕弯子了,直接上代码
<html> <head> <style> * { margin: 0; padding: 0; } .box { width: 300px; height: 200px; position: relative; } .img { width: auto; height: 0; } .box img { width: 100%; display: inline-block; } .box .img:nth-of-type(1) { display: inline-block; position: absolute; left: 50%; top: 50%; padding-bottom: 50%; transform: translate(-50%, -50%); z-index: 6; } .box .img:nth-of-type(2), .box .img:nth-of-type(3) { position: absolute; top: 50%; transform: translateY(-50%); padding-bottom: 63%; z-index: 3; } .box .img:nth-of-type(2) { right: 0; } .box .img:nth-of-type(3) { left: 0; } </style> </head> <body> <div class="box"> <div class="img"> <img src="https://febaidu.com/list/img/3ns.png" /> </div> <div class="img"> <img src="https://febaidu.com/list/img/3ns.png" /> </div> <div class="img"> <img src="https://febaidu.com/list/img/3ns.png" /> </div> </div> </body> </html>
快去试试吧 ~
纯css实现3d按钮效果
今天分享一个用纯CSS实现的3D按钮。css巧妙利用了box-shadow来实现3D物体的立体感,当按钮按下的时候再去修改box-shadow和top值。让人感觉有一种按钮被按下的感觉。css代码非常少,如下所示a.css-3d-btn{position:relative;color:rgba(255,255,255,... 查看详情
纯css实现图片的灯光照射效果,高逼格图片展示
先不说技术,看实现的效果,与原图(左图)相比,‘灯光’照射(右图)下的小姐姐是不是更有魅力了!! 那么下面就说说大家... 查看详情
利用css3+js实现简单带立体过渡效果的图片切换(chrome浏览器)
<!DOCTYPEHTML><htmllang="en-US"><head><metacharset="UTF-8"><title>图片立体过渡切换效果</title><styletype="text/css">*{margin:0;padding:0;}div{width:500px;height:500px;m 查看详情
纯css实现图片
在Web开发中。通过CSS代码也能够实现一些简单的图片,当然,假设你有耐心,也能够实现较为复杂的图片噢。那么请问为什么有图片不去用而须要用CSS来实现呢?一是由于性能的原因,图片带给server和client的压力比几行CSS代码要... 查看详情
纯css实现波浪效果!
一直以来,使用纯CSS实现波浪效果都是十分困难的。因为实现波浪的曲线需要借助贝塞尔曲线。而使用纯CSS的方式,实现贝塞尔曲线,额,暂时是没有很好的方法。当然,借助其他力量(SVG、CANVAS),是可以很轻松的完成所谓的... 查看详情
阴影进阶,实现更加的立体的阴影效果!
...加有型立体。然而,在最简单的阴影使用之上,我们可以实现更多有意思且更加立体的阴影效果。本文将带大家看看如何使用CSS实现几类比普通阴影更加立体的阴影效果。CSS阴影基础CSS中,明面上可以实现阴影的有三个属性:box... 查看详情
css33d环境实现立体魔方效果代码
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>魔方</title> <styletype="text/css"& 查看详情
使用纯css代码实现3d旋转效果
参考技术A主要使用CSS中的preserve-3d、perspective属性实现3D效果为了演示效果,将元素居中,body的css设置 查看详情
纯css实现吸顶效果
position的属性有哪些?{ position:static; position:relative; position:absolute; position:fixed; position:inherit; position:initial; posit 查看详情
纯css三角形及其应用
...容连接部分会有小三角形效果,可能在以前直接用图片去实现,其实用纯css即可实现,下面要实现的效果分别是微信对话框和面包屑,以此回顾记录一下。效果如下:css写三角形原理首先我们设置一个div元素的宽高和边框,观察... 查看详情
纯css三角形及其应用
...容连接部分会有小三角形效果,可能在以前直接用图片去实现,其实用纯css即可实现,下面要实现的效果分别是微信对话框和面包屑,以此回顾记录一下。效果如下:css写三角形原理首先我们设置一个div元素的宽高和边框,观察... 查看详情
纯css实现打字效果
...js在哪里。今天看《css揭秘》,碰巧看到书上打字动画的实现了,而且是纯css实现的!我参考这本书把代码记录下来,供以后开发时参考,相信对其他人也有用。代码书上的css代码是这样的:@keyframestyping{from{width:0}/*从左到右的... 查看详情
纯html/css实现时钟效果
写了一个小Demo,用html,css渲染的时钟效果:Html代码:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title>css实现时针</title> <linkrel="stylesheet"href=&quo 查看详情
纯css实现放烟花效果
本文出自:https://www.cnblogs.com/2186009311CFF/p/13093596.html用元素绑定一个class<viewclass="fireWorkBox"></view>class对应的css如下.fireWorkBox{content:‘‘;width:10upx;height:10upx;display:inline-block;//b 查看详情
使用纯css实现波浪效果
有时候我们需要实现水晃动的效果,其实我们可以通过css旋转动画和圆角来实现。首先来2个div,外层div相对定位,内层div绝对定位,内层div大致位于外层div上半部分。外层div设置一个颜色较深的背景色(水的颜色);内层div颜色设... 查看详情
纯css实现气泡效果
先上代码:div.bubble{position:absolute;margin:0;padding:0;color:#86181d;background-color:#ffdce0;border-color:#cea0a5;display:block;border:1pxsolid;border-radius:4px;padding:2px;}div.bubble::before{content 查看详情
纯css实现进度条效果
...度条; 斜纹进度条用线性渐变 linear-gradient类实现,原理很好理解,2个参数: 1、角度; 2、关键点(包含2个参数,1是颜色,2是长度位置) displ 查看详情
cssgames:纯css实现五星评价效果
上图:上代码:<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title><styletype="text/css">.container{width:150px;height:30px;position:relative;}.containerul{ 查看详情