各种tips汇总
才疏学浅,以下整理的东西有些可能还不成熟,措辞有待改进,但是都是我在敲代码的过程中,一点一滴积累总结的,如有不妥和错误,希望大家指正。
让行及元素变成块级元素的方式: position:absolute
display:block
float
p标签和div默认不改变width的情况下,width=父盒子width
margin:0 auto;在当前标签定位之后不好使!!!
那么想要在定位情况下实现居中怎么办:
>>> ①position:absolute(父盒子已经定位)
②left=50% height=50%
③margin-left=-本标签的border宽度大小的一半
margin-height=-本标签的border高度大小的一半
③或者是
transform: translateY(-50%);
transform: translateX(-50%);
如果父盒子设置为display:none,则其孩子也都被隐藏。
若想单独设置孩子display:block,也无法实现
display:none;和visibility: hidden;都可以隐藏元素。
区别是display:none彻底不显示元素,元素不占空间,跟完全没有一样。
visibility: hidden只是把元素隐藏不显示,但还是占有原来的位置空间的。
让行内元素产生块级框的方法:
1.display:block 产生块级框并换行,即右侧的margin为auto
2.display:inline-block产生块级框,不换行,
3.position:absolute;产生块级框,不换行,但是多个元素之间会发生重叠
4.float浮动
问题:鼠标指上图片,图片慢动作放大,离开后又会慢动作缩回
解决办法:在hover伪类中加transition的同时,在图片选择器上加相同的transition
>>>同理得:如果要鼠标指上和离开同时出现 动画效果则:
①在hover中添加transition
②在其本身添加transition
问题:鼠标指上图片,图片慢动作放大,离开后又会慢动作缩回
解决办法:在hover伪类中加transition的同时,在图片选择器上加相同的transition
>>>同理得:如果要鼠标指上和离开同时出现 动画效果则:
①在hover中添加transition
②在其本身添加transition
问题: 在隐藏的情况下 hover之后 想实现 出现+动画效果
display:block display:none 做不到怎么办?
解决办法:第1步:给要隐藏的标签设置height=0或者width=0或者opacity=0
第2步:设置overflow:hidden让其中的内容隐藏
第3步:在hover伪类中设置height或width为想要的数值
第4步:在hover伪类中设置hover事件触发的transition实现出现的动画效果
在要操作的标签的css中设置transition实现消失的动画效果
新问题出现:动画类型:展开型 改width height
渐现型 改opacity
渐现型:因为opacity并不能释放占据空间,因此必须让height/width=0
所以有了不同属性的出现先后问题?
新问题解决办法:第1步:让需要隐藏的标签,不再占据空间:
①在选择器中,设置border:0px solid color;
②设置height/width=0 和 opacity=0
③如果有padding将 padding=0;
④设置:overflow:hidden,将其内部元素一同隐藏
第2步: ①在hover伪类中设置height/width,border,padding等
让上述样式在hover事件一触发就出现。
②确定主动画元素(如opacity),给opacity设transition
第3步: ①在选择器中设置opacity/height的transition
让他们按照动画消失
②使用transition设置delay时间
让border、padding等在主动画之后消失
banner图的实现总结:
在动画实现banner图中,设计了三层div最后一层div中有多个img
1.最外层div的width:100%为的是跟随浏览器变化而变化,并且可以用来设置背景,因为背景颜色或背景图不可能覆盖整个body区,需要用高度控制背景图覆盖区域
2.第二层定width=banner图宽度 或者是里面的内容width 目的是为了居中,此div居中,所以里面的内容永远在浏览器中居中
3.第三层是为了盛放多个元素组合儿存在,如果只有一个元素,则不需要第三层,直接将次块级元素放在第二层即可
多个元素可以是在同一行,也可以是在同一列,也可以既有行又有列
同一列是为了当浏览器缩小,让他们 同步居中
>>> 总结:第一层:放背景,随浏览器变化而变化
第二层:定居中
第三层:盛东西
当父盒子内部的元素全部浮动的时候,且父盒子没有定高度的时候,父盒子会塌陷
为了不影响下面与父盒子同级的盒子布局,在新的盒子上添加clear:both
>>>或者在本盒子上加overflow:hidden 这个做法会使本盒子包裹内部元素,
使得本盒子的高度等于内部最大元素
overflow:hidden作用1.让塌陷的回到内部元素填充的大小
(不定height width(宽高由内部填充物的宽高决定)或者height,width为百分比形式)
2.让超出部分隐藏
(定住width height)
3.让单行多出文字变省略号
各种tips汇总的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- fir.im Weekly - 600个 Android 开源项目汇总
本期 Weekly 收集了一些热度资源,包含 Android.iOS 开发工具与源码分享,程序员也应该了解的产品运营.设计等 Tips ,希望对你有帮助. 600个Android开源项目汇总 勤劳的 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- MySQL笔记汇总
[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...
- GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...
- Android 开源项目分类汇总(转)
Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Galler ...
- Swift项目兼容Objective-C问题汇总
Swift项目兼容Objective-C问题汇总 转载自 http://www.cocoachina.com/swift/20150608/12025.html 本文是投稿文章,作者:一叶(博客)欢迎 ...
- 大礼包!ANDROID内存优化(大汇总)
写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在A ...
- android app性能优化大汇总(内存性能优化)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...
随机推荐
- 可以提升幸福感的js小技巧(下)
4.数字 4.1 不同进制表示法 ES6中新增了不同进制的书写格式,在后台传参的时候要注意这一点. 29 // 10进制 035 // 8进制29 原来的方式 0o35 // 8进制29 ES6的方式 ...
- JQuery高级笔记
## 今日内容: 1. JQuery 高级 1. 动画 2. 遍历 3. 事件绑定 4. 案例 5. 插件 ## ...
- Linux安装FastDFS~Nginx~
确保Linux联网,我这里使用的是CentOS7操作,联网教程 https://www.cnblogs.com/taopanfeng/p/10978752.html 先把指定的四个文件放入指定目录 安 ...
- rpmdb: Thread/process 10646/3086534416 failed: Thread died in Berkeley DB library
明明用rpm查看包存在,但删除的时候进程就停住了.后来出现以下错误:rpmdb: Thread/process 10646/3086534416 failed: Thread died in Berk ...
- Delphi 变量
- Linux部署Redis及PHP-redis扩展
Redis是一个key-value存储系统,属于我们常说的NoSQL.它遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它常用在缓存.队列.P ...
- JS基础知识二
JS控制语句 switch 语句用于基于不同的条件来执行不同的动作 <script> function myFunction(){ var x; var d=new Date().getD ...
- 将.py文件转换成.exe文件
1.安装pyinstaller模块 pip install pyinstaller 2.打开python目录下的scripts文件夹 cmd下,使用pyinstaller -F test.py,运行后 ...
- 最简单的Android项目(NDK命令行编译)
Android的NDK编程需要下载NDK编译环境,可以从官网下载window64位版,然后解压到任意目录即可. NDK的实现其实是利用里Java的jni方法,所以前期的步骤可以参考jni的实现方法,只 ...
- Buffer转成字符串
如果data为buffer格式,则: data.toString()