div 中图片溢出问题及 CSS3中图片翻转问题
如果设置一个div 装两张以上的图片,如果不设置好div的宽度和高度,就会使图片溢出。
我们知道,div是可以由图片撑开其宽高的,也就是说如果只放一张图片的情况下,不设置div的宽高,div的宽高会默认是图片的宽高。
但是如果是多张图片要放进一个div 这样虽然也可以,但是会影响后边整体的布局,比如图片外间距的设置,还有需要隐藏图片时就不好处理了。
经过尝试发现,如果设置给div 的宽度太小不足以容纳所有图片,则图片会默认竖直排列,这时就发生溢出了,可以用 overflow: hidden; 样式来隐藏溢出部分。
overflow常常用于父元素清除子元素浮动造成父元素的高度塌陷。
clear:both 常用于清除兄弟元素浮动的浮动,使其不会占据兄弟元素的位置。
有时候,我们是需要溢出的这部分的,比如要实现图片的二维翻转效果时,这时需要使用 CSS3的样式 backface-visibility: hidden; 来设置隐藏div中的第一张图片,并且在翻转时只显示面向屏幕的那张图片。
backface-visibility: hidden;与 overflow:hidden 及 display:none的区别
display:none 隐藏元素,不占网页中的任何空间,让这个元素彻底消失(看不见也摸不着)
overflow:hidden 让超出的元素隐藏,就是在设置该属性的时候他会根据你设置的宽高把多余的那部分剪掉,剪掉的该区域可以放置其他内容,也就是说溢出的部分不再占据位置
backface-visibility: hidden; 把元素所在的层隐藏,只是看不到元素了,但是位置还是存在的。
CSS3 transform :rotateX (角度) rotateY(角度) rotateZ(角度);
这是CSS3中新增的二维图片翻转的三个属性,使用时应注意浏览器的兼容问题。
CSS3文档上解释是将元素绕着三个轴转一定的角度。
但是发现这个角度并不一定是转的角度,也可以是相对于元素起始位置的一个角度,
比如transform: rotateY(0deg); 就不是将元素绕y轴转 0°,这样相当于没转。
经过尝试发现,如果将一张图片先 transform: rotateY(180deg); 然后 transform: rotateY(0deg); 就会回到其最初没转180°的位置。
所以这里的0°并不是它实际转了0°,而是相对于之前转的 180°的又一个180°的偏移量。
同一个div中层叠的两张图片中的一张在进行翻转时,会默认以它的中线为轴转动,这样如果其绕y轴旋转会与另一张图片发生交错,如果转180°就会转到另一张图片之前或之后。
绝对定位 相对定位与固定定位:
绝对定位:
绝对定位会使元素脱离文档流,绝对定位是相对于离他最近的祖先元素进行定位的(一般开启子元素的绝对定位也会开启祖先元素的相对定位)
绝对定位会改变元素的性质,内联元素变为块元素,宽和高都被内容撑开
开启绝对定位的元素如果不设置偏移量,则只会脱离文档流不会发生移动
如果所有的祖先元素都没有开启定位,则会相对于浏览器窗口定位
相对定位:
不会使元素脱离文档流
固定定位:
元素的position属性设置为 fixed 时,开启固定定位
固定定位也是一种绝对定位,其大部分特点与绝对定位一样
不同的是,固定定位永远都会相对浏览器窗口定位
一般如果开启了子元素的绝对定位,就要开启其父元素的相对定位。
外边距:
当元素的外边距为正值时会使其旁边的元素发生移动,设置为负值时会使自身移动,并且设置为负值的情况居多。
以上均为个人心得笔记,如有不对之处还望指正
div 中图片溢出问题及 CSS3中图片翻转问题的更多相关文章
- 第9章 CSS3中的变形与动画(下)
Keyframes介绍 Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号" ...
- css3中的 @Keyframes
一.介绍 keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以“@keyframes”开头,后面跟着是动画名称加上一对花括号“{…}”,括号中是一些不同时间段样式规则. ...
- CSS3中的变形与动画(二)
CSS3动画 过渡属性transiton-property 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成.但在CSS3中新增加了一个新的模块transition,它可 ...
- 理解CSS3中的background-size(对响应性图片等比例缩放)
理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...
- CSS3中的background-size(对响应性图片等比例缩放)
background-size的基本属性 background-size: 可以设定背景图像的尺寸,该属性是css3中的,在移动端使用的地方很多,比如最常见的地方在做响应性布局的时候,比如之前做的项目 ...
- 使用CSS3中Canvas 实现两张图片合成一张图片【常用于合成二维码图片】
CSS3 Canvas 实现两张图片合成一张图片 需求 需求:在项目中遇到将一张固定图片和一张二维码图片合成一张新图片,并且用户能够将图片保存下载到本地. 思路:使用 CSS3 中的 Canvas 将 ...
- CSS3中DIV水平垂直居中-2(3)
用到CSS3中display的新属性. HTML <div class="parent"> </div> CSS html,body{ width: 100 ...
- Retina视网膜屏中CSS3边框图片像素虚边的问题
虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...
- 点击图片或者鼠标放上hover .图片变大. 1)可以使用css中的transition, transform 2) 预先设置一个 弹出div. 3)弹出层 alert ; 4) 浏览器的宽度document.documentElement.clientWidth || document.body.clientWidth
变大: 方法一: 利用css属性. 鼠标放上 hover放大几倍. .kecheng_02_cell_content img { /*width: 100px; height: 133px;*/ wi ...
随机推荐
- 《http权威指南》读书笔记13
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- 简单的ld链接脚本学习
一. 链接脚本的整体认识 什么是链接文件呢?作用是什么呢? 当编写了多个C文件时,我们将他们编译链接成一个可执行的文件,此时就需要用到链接脚本文件(ld).ld脚本主要功能就是:将多个目标文件(.o) ...
- 【spring】从简单配置使用到深入
一.使用前的配置 1.maven引入需要的jar包 <properties> <spring.version>4.1.6.RELEASE</spring.version& ...
- vue计算属性(通过计算得来的属性)
1.computed:是一个计算属性,用来监听属性的变化 eg: <p>computed:{{count}}</p> computed:{ count(){ c ...
- WebSocket(1)---WebSocket介绍
WebSocket介绍 一.为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很 ...
- Android--通知之Toast
前言 这篇博客讲解一下Android下的一个简单信息提示的方式:Toast.如果一直看我的博客,会发现在之前的Demo中,一直有用到Toast去提示消息,在这篇博客中就专门讲它.Toast提供一个浮动 ...
- [NewLife.XCode]功能设置
NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...
- PCA实现教程
数据是机器学习模型的生命燃料.对于特定的问题,总有很多机器学习技术可供选择,但如果没有很多好的数据,问题将不能很好的解决.数据通常是大部分机器学习应用程序中性能提升背后的驱动因素. 有时,数据可能很复 ...
- python基本操作
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- 解读经典《C#高级编程》第七版 Page68-79.对象和类型.Chapter3
前言 新年好,本篇开始进入第三章,<对象和类型>,深刻理解C#的对象,对于使用好.Net类库非常重要. 01 类和结构 从使用角度看,结构和类的区别很小,比如,将结构定义转换为类,只需要将 ...