复习

1.浮动布局
解决block盒子同行显示 => 不完全脱离文档流 => 不再撑开父级高度 脱离文档流: 不在页面中占位(显示层次高于文档流)
不完全: 可以通过清浮动操作, 让子级重新撑开父级高度 子级浮动(约定俗成如果有子级浮动, 该子级的所有兄弟都应该浮动)
父级清浮动, 拥有合适的高度, 让兄弟标签布局不出现问题(约定俗成父级都必须清浮动) float: left | right; .sup:after {
content: "";
display: block;
clear: both;
} 2.定位
让布局的block盒子完全脱离文档流(自身布局独立), 根据自身的参考系进行布局 定位布局是完全脱离文档流, 永远不会撑开父级高度 => 父级一定要自己设置高度 position: fixed | absolute | relative fixed: 固定定位, 完全脱离文档流, 参考系为窗口, 上下取上左右取左
absolute: 绝对定位, 完全脱离文档流, 参考系为最近的定位父级, 上下取上左右取左
relative: 相对定位, 不脱离文档流(定位不改变自己原有位置, 改变显示图层), 参考系为自身原有位置, 上下取上左右取左(top=-bottom, left=-right) fixed: 相对窗口静止 => 广告, tap, 客服, top
absolute|relative: 父相子绝 => 子级在父级规定的显示区域中进行布局

今日内容

1.盒子显影 *****
2.overflow ****
3.伪类边框 **
4.盒子阴影 **
5.2d形变 **** (需要掌握)
浮动层文档层 背景层 阴影图层
双类名 .b.b1
从上往下布局,所有x轴往下是正值

字体图标库

一般都用i标签,因为i标签最简单,把类名改成对应的类,就会变成图标样式
fa框架: http://fontawesome.dashgame.com/ 下载 => 用link标签引入css文件 <i class="fa fa-**"></i>

盒子显隐

1.显示效果
display: none; # 没有任何显示效果
消失的时候在页面中不占位,显示的时候在页面中占位 2.盒子透明度
opacity: 0; # 所在区域留白
消失显示在页面中都占位 只要盒子在页面中有占位,就会影响其他盒子布局, 所以显隐的盒子都需要中 定位 处理 opacity可以动画处理, display不能动画处理 <style>
div {
width: 100px;
height: 100px;
background-color: orange;
margin-top: 10px;
}
/*消失的时候在页面中不占位,显示的时候在页面中占位*/
.div1 {
display: none;
position: absolute;
/*display不能过度动画 => 原因none与block是两个状态点(中间找不出存在的第三个状态点)*/
transition: 2s;
}
.ctrl:hover ~ .div1 {
display: block;
} /*消失显示在页面中都占位*/
.div2 {
/*盒子的透明度*/
opacity: 0;
/*背景颜色透明,文本层依然显示*/
/*background-color: rgba(0,0,0,0);*/
position: absolute;
/*opacity能过度动画 => 0~1之间可以找出多个中间点, 比如0.5*/
transition: 2s;
}
.ctrl:hover ~ .div2 {
opacity: 1;
}
</style>
<div class="ctrl">控制</div>
<!--<div class="div1">001</div>-->
<div class="div2">002</div>
<!--<div class="div3">003</div>-->

overflow属性

解决: 超出盒子规定的显示区域外的内容的处理方式

/*将超出规定区域的内容隐藏, 隐藏掉的内容无法直接查看*/
/*overflow: hidden;*/ /*不超出正常,超出滚动 两种不同的处理方式来处理超出规定区域的内容*/
/*overflow: auto;*/ /*一直以滚动方式处理超出规定区域的内容*/
/*overflow: scroll;*/ 例子:
<style>
div {
width: 100px;
height: 100px;
background-color: orange;
margin-top: 10px;
}
.div1 {
/*height: 10px;*/ /* **** */
/*将超出规定区域的内容隐藏, 隐藏掉的内容无法直接查看*/
/*overflow: hidden;*/ /*不超出正常,超出滚动 两种不同的处理方式来处理超出规定区域的内容*/
/*overflow: auto;*/ /*一直以滚动方式处理超出规定区域的内容*/
/*overflow: scroll;*/
} .wrapper {
width: 200px;
height: 260px;
border: 1px solid black;
margin: 0 auto;
}
.scroll {
width: 600px;
height: 260px;
background-color: red;
margin-top: 0;
}
.box {
width: 200px;
height: 260px;
background-color: green;
margin-top: 0;
float: left;
font: 900 50px/260px "STSong";
color: red;
text-align: center;
}
.box:nth-child(2n) {
background-color: yellowgreen;
} /*默认显示区域时第一张 => 第二张 => 第三张*/
.wrapper {
position: relative;
/*wrapper规定了显示区域,所以要对超出显示区域外的内容做隐藏处理*/
overflow: hidden;
}
/*一个滚动的大盒子, 嵌套多个小显示盒子, 该大盒子一滚动, 就会带着所有小盒子滚动*/
/*哪个小盒子滚动到显示区域, 就显示哪个小盒子*/
.scroll {
position: absolute;
left: calc(-200px * 0);
/*谁动谁过度*/
transition: 1s;
}
.wrapper:hover .scroll {
left: calc(-200px * 1);
}
</style>
<div class="ctrl">ctrl</div>
<div class="div1">div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 div1 </div> <div class="wrapper">
<div class="scroll">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
</div>

伪类设计边框

设计边框 => 在页面中占位 => 让其定位处理 => 脱离文档流 => 不占位 => 层级结构复杂

设计一个不占位的边框 => 伪类 :before | :after

.box {
width: 200px;
height: 200px;
background-color: red;
/*给伪类边框提供定位参考系*/
position: relative;
}
.box:before {
content: ""; /*上下边框*/
width: 180px;
height: 1px;
background-color: green; /*控制边框位置*/
position: absolute;
bottom:0px;
left: 10px; }
例子:
<style>
.box {
width: 200px;
height: 200px;
background-color: red;
margin: 50px auto; position: relative;
}
.box:before {
content: ""; width: 220px;
height: 10px;
background-color: green; position: absolute;
/*top: 0px;*/
bottom: -10px;
left: -10px;
}
.box:after {
content: ""; width: 10px;
height: 180px;
background-color: yellow; position: absolute;
left: -10px;
top: 10px;
}
</style>
<div class="box">原来文本</div>
<div class="box">原来文本</div>

盒子阴影

注意:
1.盒子阴影是一个独立的显示图层, 永远出现在背景层之下(即使背景层透明, 也会被覆盖遮挡)
2.盒子可以绑定多套阴影图层
3.阴影图层永远相对于显示图层进行偏移 语法:
box-shadow: x轴偏移 y轴偏移 虚化程度 阴影宽度 阴影颜色, ...; 例子:
<style>
body {
margin: 0;
}
.box {
width: 200px;
height: 200px;
background-color: orange; /*position: relative;*/
/*top: 220px;*/ /*position: absolute;*/
/*top: 220px;*/ /*margin-top: 220px;*/ background-color: rgba(0,0,0,0); margin: 220px auto 0; /*x轴偏移 y轴偏移 虚化程度 阴影宽度 阴影颜色*/
box-shadow: 220px 0 0 20px red, 0 -220px 0 -20px blue, -220px 0 200px 100px yellow, -220px -220px 0 0 cyan, 220px -220px 0 0 cyan;
} .wrap {
width: 200px;
height: 260px;
background-color: orange;
margin: 50px auto;
}
.wrap:hover {
box-shadow: 0 5px 20px -5px #424242;
}
</style>
<!--<div class="box"></div>--> <div class="wrap"></div>

2d形变

# 形变参考点(盒子左上角原点)
transform-origin: x轴坐标 y轴坐标; # 形变属性
transform: rotate() translate() scale();
# 旋转角度(deg) 偏移距离(px) 缩放比例(无单位) 1.形变多个效果要同时赋值给transform属性
transform: rotate(1080deg) translateX(-300px); # ①
2.属性值之间的先后顺序往往也会导致过程的不同
transform: translateX(-300px) rotate(1080deg); # ②过程的运动效果与①不同 例子
<style>
.b {
width: 150px;
height: 150px;
background-color: orange;
margin: 10px auto 0;
font: 100 50px/150px 'STSong';
color: blue;
text-align: center; transition: 1s linear;
}
/*旋转形变 角度 deg*/
.b1 {
/*transform-origin: 150px 150px;*/ 旋转的原点会变,原点相对于自身原来的位置
}
.b1:hover {
transform: rotate(1080deg);
} .b2:hover {
transform: rotateX(1080deg);
} .b3:hover {
transform: rotateZ(1080deg);
} .b4:hover {
transform: translateX(300px);
} .b5:hover {
/*1.形变多个效果要同时赋值给transform属性
2.属性值之间的先后顺序往往也会导致过程的不同
*/
transform: rotate(1080deg) translateX(-300px);
} .b6:hover {
transform: scaleX(2) scaleY(2);
} .b7:hover {
transform: scale(2, 0.5);
}
</style>
<div class="b b1">1</div>
<div class="b b2">2</div>
<div class="b b3">3</div>
<div class="b b4">4</div>
<div class="b b5">5</div>
<div class="b b6">6</div>
<div class="b b7">7</div>

day50 盒子显隐2D形变的更多相关文章

  1. 前端,字体图标,盒子显隐,2d形变,盒子阴影

    ---恢复内容开始--- 字体图标 1.将font-awesome-4.7.0文件夹放入项目内 2.在html head中连接 3.在body中导入 盒子显隐 1.使用高度显隐 <p>-- ...

  2. 盒子显隐,伪类边框,盒子阴影,2d平面形变

    -盒子显隐 显隐的盒子尽量不影响其他盒子的布局 display:none; 消失的时候不占位置,显示的时候占位 opacity:0-1; 盒子透明度 overflow: hidden; 超出部分隐藏 ...

  3. 字体图标,盒子显隐,overflow属性,伪类设计边框,盒子阴影2d形变

    字体图标 ''' fa框架: http://fontawesome.dashgame.com/ 下载 => 引入css文件 引入字体图标库 <link rel="styleshe ...

  4. Python12/11--盒子的显隐/布局/z-index/流式布局思想

    1.盒子的显隐 display:none      在页面中不占位,采用定位布局后,显示隐藏都不会影响其他标签,不需要用动画处理时,一般用这个 opacoity : 0        在页面中占位,采 ...

  5. 根据滑动显隐状态栏的iOS实现

    之前很多兄弟问如何实现类似于淘宝客户端搜索列表那种动态显隐的效果,这几天刚好有时间,就实现了几个例子搞一下,其实原理很简单,也参考了github上一位兄弟的实现.不多说,上代码 @interface ...

  6. C#中显/隐式实现接口及其访问方法

    原贴地址: http://www.cnblogs.com/dudu837/archive/2009/12/07/1618663.html 在实现接口的时候,VS提供了两个菜单,一个是"实现接 ...

  7. NavigationBar的显隐和颜色设置

    [self.navigationController setNavigationBarHidden:NO animated:NO]; self.navigationController.navigat ...

  8. JS/jquery实现鼠标控制页面元素显隐

    最近网站要上一个活动广告横幅,当用户鼠标划过时显隐二维码.像这种鼠标事件控制页面元素显隐的情况,码农们会经常遇到,可以通过javascript或jquery代码实现,下面就几种常见需求一起归纳一下. ...

  9. jq svg 修改image的xmlns:xlink及图片的显隐

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

随机推荐

  1. 关于Oracle字符集在dmp文件导入导出中的乱码影响

    Oracle 在进行dmp备份和还原的时候,服务器端字符集和客户端字符集会对这个过程有较大影响,特别是数据表中存储了中文.存储过程中使用了中文编码(注释)的时候,如果没有处理好字符集的问题,在进行还原 ...

  2. 为什么比特币和以太坊未必真得比EOS更去中心化?

    在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...

  3. List<Map<String, Object>>集合中获取某个key并转换为List<Integer>集合

    package com.codyy.sso.controller.yuanqu; import java.util.ArrayList; import java.util.HashMap; impor ...

  4. 2019年1月16日22:50:28 白糖SR1905

    很好的机会,只拿了点皮毛,如果说都是因为上班时间不充裕那是给自己找借口,最主要原因没别的:思维不清,策略不明- 这里的入场初衷是周线区间下沿,日线向下脱离中枢失败后回拉一笔,那么这一单的做法就应该很明 ...

  5. Layout-3相关代码:3列布局代码演化三]

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. java 字节编码学习

    位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头.UTF-8最多可用到6个字节. 如表: 1字节 0xxxxxxx 2字节 110xxxxx 10xxxxxx 3字节 11 ...

  7. CSS animation-delay:规定动画何时开始

    在CSS中animation-delay的属性为规定动画何时开始.主机吧本文详细介绍下animation-delay的定义和用法.animation-delay的语法.animation-delay的 ...

  8. Python课程第二天作业

     一.统计字符串格式 要求: # 1.统计元组中所有数据属于字符串的个数,提示: isinstance() # 数据: t1 = (1, 2, '3', '4', 5, '6') # 结果: 3 代码 ...

  9. xshell使用密钥登陆linux

    一.环境CentOS 7.4xshell 6 二.介绍远程ssh连接服务器 默认是用的密码验证的方式,而且还是root账号,这样的验证方式会有安全隐患,容易被人暴力破解root密码.如果改成用密钥登陆 ...

  10. Oracle参数Arraysize设置对于逻辑读的影响分析

    说明: 当执行一条SQL查询的时候,为了获得满足的数据,查询在这个过程中完成解析,绑定,执行和提取数据等一系列步骤,这些步骤都是单独执行的,满足条件的数据行必须由数据库返回给应用:对于任何大小的结果集 ...