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 ...
随机推荐
- Python学习笔记【第六篇】:迭代器、生成器、高阶函数、装饰器
迭代器 迭代器是访问集合元素的一种方式,迭代器从对象的第一个元素开始访问,知道所有元素被访问完成.迭代器只能往前访问,不能通过索引访问. 类型内部使用__iter__()方法转为迭代器,使用__nex ...
- 读《Linux Shell脚本攻略》(第2版) 一遍、二遍体会
前段时间读完了<Linux Shell脚本攻略>(第2版)这本书,给部分想读这本书的人分享下个人感受. 第一遍体会解读:就像黑夜中的灯塔,指明前进的道路. 推荐指数:强烈推荐. 书中讲解的 ...
- Shell中for循环的几个常用写法
第一类:数字性循环-----------------------------for1-1.sh #!/bin/bash ;i<=;i++)); do echo $(expr $i \* + ); ...
- ORM基本操作回顾
连接数据库 默认是MySQLdb 指定引擎 dialect[+driver]: //user:password@host/dbname[?key=value..]: from sqlalchemy i ...
- Zookeeper-watcher机制源码分析(二)
服务端接收请求处理流程 服务端有一个NettyServerCnxn类,用来处理客户端发送过来的请求 NettyServerCnxn public void receiveMessage(Channel ...
- 【Python开发】Python中数据分析环境的搭建
注:无论是任何一门语言,刚开始入门的时候,语言运行环境的搭建都是一件不轻松的事情. Python的运行环境 要运行或写Python代码,就需要Python的运行环境,主要的Python有以下三类: 原 ...
- leetcode — unique-paths
import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/unique-paths/ * * * A robot ...
- 网络协议抓包分析——IP互联网协议
前言 IP协议是位于OSI模型的第三层协议,其主要目的就是使得网络间可以相互通信.在这一层上运行的协议不止IP协议,但是使用最为广泛的就是互联网协议. 什么是IP数据报 TCP/IP协议定义了一个在因 ...
- MySQL EXPLAIN 命令: 查看查询执行计划
MySQL 的 EXPLAIN 命令可以查看SELECT语句的执行的计划,是 MySQL 查询优化的必备工具. 通过执行计划可以了解查询方式.索引使用情况.需要扫描的数据量以及是否需要临时表或排序操作 ...
- 深入MySQL复制(三):半同步复制
1.半同步复制 半同步复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-semisync.html 默认情况下,MySQL的复制是异 ...