css 布局之定位 相对/绝对/成比例缩放
给body添加 overflow: hidden; 可以将页面所有的 滚动条隐藏,但必须要给body 设置一个高度
overflow: hidden;
height:864px;
<div class="warp">
<img src="first.img" class="first-img" />
<div class="sub-warp">
<img src="sub-two.img" class="" />
<img src="sub-three.img" class="" />
</div>
</div> /**结构说明
* 最外层 warp
* sub-warp 是相对于 .first-img 绝对定位的,因此 sub-warp 必须是绝对定位且它的大小要和 .first-img 一样大小
* 子层 .sub-two / .sub-three 是相对于 sub-warp 进行绝对定位,值用百分比就可以,如果这里是相对定位,在某些手机上会出问题
*/
.warp {
position:relative; /*最外层是相对定位*/
}
.warp img {
//正常设置图片的格式就可以
}
.sub-warp {
position:absolute;/*所有的子层都是绝对定位*/
top:;
left:;
right:;
bottom:;
}
.sub-warp img::nth-child(1){
position:absolute;
top:22%;
left:5%;
}
.sub-warp img:nth-child(2){
position:absolute;
top:15%;
left:22%;
}
如果子元素在父元素的一定范围内成比例缩放且居中显示,因此left:50%,需要用到一个定宽的值及一个margin-left的值与50%定位,top根据实际情况重新调整:
@media (max-width: 768px) {
.sub-warp img:nth-child(2){
position:absolute;
top:15%;
left:50%;
width:290px;
margin-left:-176px;
}
}
为了解决撑破容器的问题,以前我们只能去计算div.box的宽度,用容器宽度减去padding和border的值,但有时候,我们苦于不知道元素的总宽度,比如说是自适应的布局,只知道一个百分值,但其他的值又是px之类的值,这就是难点,死卡住了。随着CSS3的出现,其中利用box-sizing来改变元素的盒模型类型实使实现效果,但今天我们学习的calc()方法更是方便,可以使用 calc()计算,calc()可以用在大尺寸在小屏幕上.
使用方法 : 知道总宽度是100%,在这个基础上减去boder的宽度(5px * 2 = 10px),在减去padding的宽度(10px * 2 = 20px),即"100% - (10px + 5px) * 2 = 30px" ,最终得到的值就是div.box的width值。 width: 90%;/*写给不支持calc()的浏览器*/
width:-moz-calc(100% - (10px + 5px) * 2);
width:-webkit-calc(100% - (10px + 5px) * 2);
width: calc(100% - (10px + 5px) * 2);
- 主容器的宽度是“100% - 20px * 2”,并且水平居中:
.wrapper {
width: 1024px; /*写给不支持calc()的浏览器*/
width: -moz-calc(100% - 40px);
width: -webkit-calc(100% - 40px);
width: calc(100% - 40px);
margin: auto;
}
欢迎一起讨论!
css 布局之定位 相对/绝对/成比例缩放的更多相关文章
- CSS布局与定位——height百分比设置无效/背景色不显示
CSS布局与定位——height百分比设置无效/背景色不显示 html元素属性width和height的值有两种表达方式,一是固定像素如“100px”,一是百分比如“80%”, 使用百分比的好处是元素 ...
- 测开之路三十八:css布局之定位
常用的布局方式: static:静态定位(默认),什么都不用管,元素会按照默认顺序排列,排不下是会默认换行relative:相对定位(同一层),相对于某一个元素进行定位fixed:绝对定位,指定位置a ...
- css如何实现图片响应式等比例缩放,裁剪
<div class="bg_picWrapper" :style="{backgroundImage:'url('+img+')'}">---- ...
- CSS让DIV按照背景图片的比例缩放,并让背景图片填充整个元素(转)
目的是:通过background的一系列属性,让DIV按照背景图片的比例缩放,并让背景图片填充整个DIV 首先我们需要让背景图片在指定的DIV中全部填充显示 之前看有用类似 background-at ...
- CSS实现宽高成比例缩放
用js实现一个宽度自适应,高度随着宽度变化而变化的矩形,相信大家肯定都会.无非是js获取一下元素宽度,然后再计算出相应比例的高度,然后赋给元素,但如果要求只用CSS实现呢. html代 ...
- Head First HTML与CSS — 布局与定位
1.流(flow)是浏览器在页面上摆放HTML元素所用的方法. 对于块元素,浏览器从上到下沿着元素流逐个显示所遇到的各个元素,会在每个块元素之间加一个换行: 对于内联元素,在水平方向会相互挨着,总体上 ...
- 前端学习笔记--CSS布局--float定位
1.float属性 box1向右移动,box2顶替了box1的位置,box3顶替了box2的位置. 2.clear属性 案例: 一列三行布局: <!DOCTYPE html> <ht ...
- 前端学习笔记--CSS布局--层定位
1.层定位概述: z-index:前后叠加顺序 2.position属性: 3.fixed: 2.relative: 移动后: static没有往上移动占据box1的位置. 3.absolute: 移 ...
- 深入css布局篇(2) — 定位与浮动
深入css布局(2) - 定位与浮动 在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深入学习一下css布局相关的知识 ...
随机推荐
- 1.Git起步-Git的三种状态以及三种工作区域、CVCS与DVCS的区别、Git基本工作流程
1.Git基础 版本控制系统是一种用于记录一个或多个文件内容变化,以便将来查阅恢复特定版本修订情况的系统. Git是一种分布式版本控制系统(Distributed Version Control Sy ...
- Python快速学习06:词典
系列文章:[传送门] 上面讲的,特别是对象和类,大家好好体会. Python对象是Python语言的核心部分.今天介绍一个新类:词典(dictionary) 基本概念 字典是Python 中的映射数据 ...
- ZOJ Problem Set - 3713
题意:给定一个字符串,用字符串ASC2码16进制数输出 ,并在前面输出字符串长度的16进制,输出长度的规则是 先输出长度的二进制数的后七位的十六进制(如果左边还有1 则这在后七位前面加上个1再输出 ...
- 02 Tensorflow Hello World程序
打开python idle,输入: import tensorflow as tf # 创建常量 hello = tf.constant('Hello,world!') # 创建会话 sess = t ...
- leetcode — unique-paths
import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/unique-paths/ * * * A robot ...
- 每个 Python 程序员都要知道的日志实践
在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么. 对于系统开发 ...
- Ansible剧本介绍及使用演示(week5_day2)--技术流ken
Ansible剧本编写说明 一. 缩进 yaml 的缩进要求比较严格.一定不能使用tab键 注意:编写yaml文件,就忘掉shell的tab吧. 二. 冒号 每个冒号后面一定要有一个空格 注意:1. ...
- 为Spring Cloud Config插上管理的翅膀
最近一致在更新Spring Cloud Config的相关内容,主要也是为这篇埋个伏笔,相信不少调研过Spring Cloud Config的用户都会吐槽它的管理能力太弱.因此,就有了下面为讲推荐的这 ...
- Spring Boot入门(2)使用MySQL数据库
介绍 本文将介绍如何在Spring项目中连接.处理MySQL数据库. 该项目使用Spring Data JPA和Hibernate来连接.处理MySQL数据库,当然,这仅仅是其中一种方式,你也 ...
- 使用IIS调试ASP.NET网站程序
在实际的开发当中,相信很多的开发者在开发调试ASP.NET网站时候都是直接通过Visual Studio工具的编译运行来调试的. 一般情况下,这种调试方式也不会有多少问题,但有时候我们会发现这样的一个 ...