前端之css(宽高)设置小技巧
一、css宽高自适应:
1.宽度自适应:
元素宽度设为100%(块状元素的默认宽度为100%)
注:应用在通栏效果中
2.高度自适应:
height:auto;或者不设置高度
3.最小,最大高度,最小,最大宽度:
a)最小高度 min-height:value;
IE6不识别min-height属性,解决方案如下:
方案一:min-height:100px; _height:100px;
方案二:min-height:100px; height:auto!important; height:100px;
b)最大高度:
max-height:value;
c)最大宽度:
max-width:value;
d)最小宽度:
min-width:value;
注:块状元素设置最小宽度时,需要将元素转换为内联块状元素,添加display:inline-block;
注:以上四个属性IE6及以下版本浏览器不支持
4.高度塌陷问题:
描述:子元素浮动,父元素高度自适应,造成父元素高度为0,简称高度塌陷问题
解决方案:
方案一:
给父元素添加overflow:hidden;
优点:简单,兼容性好
缺点:当有position:relative;出现时,会影响页面显示效果
方案二:
给父元素固定的高度 height:value;
缺点:不灵活,高度无法自适应
方案三:
在子元素的末尾添加一个空div,并设置样式
.clear{height:0; overflow:hidden;clear:both;}
优点:所有浏览器都支持
缺点:在页面中添加一个无意义的div,造成代码冗余
方案四:(万能清除浮动法,推荐使用)
通过伪元素的方式清除浮动
父元素:after{
content:"";
height:0;
overflow:hidden;
clear:both;
display:block;
visibility:hidden;
}
注:伪元素是内联元素,转换为块元素设置宽高才能生效
height:0;在IE6下不兼容,添加overflow:hidden;兼容IE6
二、元素隐藏不可见的两种方式(display:none;和visibility:hidden的区别)
1.display:none;元素隐藏不可见,位置不保留
2.visibility:hidden;元素隐藏不可见,位置保留
三、窗口高度自适应
首先,给html,body设置高度为100%
html,body{height:100%;}
然后给元素设置高度100%
div{height:100%}
注:常用于窗口内容不满一屏或者没有内容body高度为0时
四、水平居中和垂直居中:
1.行内元素水平居中设置
设置文本、图片等行内元素水平居中,给父元素设置text-align:center;
2.定宽块状元素水平居中设置
给定宽块状元素设置左右margin值为auto
注:当元素设置float或绝对定位,固定定位时,左右margin为auto失效
3.不定宽块状元素水平居中
方法一:
给父元素设置 {display:table;margin:0 auto;}
注: display:table;将元素转换为表格的形式
方法二:
子元素设置: {display:inline-block;}
父元素设置:{text-align:center;}
五、元素水平垂直都居中
1.未知宽高元素在屏幕窗口水平垂直都居中
方法一:
元素{
width:value;
height:value;
position:fixed;
left:50%;
top:50%;
margin-left:-width/2+px;
margin-top:-height/2+px;
}
方法二:
元素{
width:value;
height:value;
position:fixed;
left:0;
top:0;
right:0;
bottom:0;
margin:auto;
}
2.未知宽高元素在父元素中水平垂直都居中
方法一:
元素{
width:value;
height:value;
position:absolute;
left:0;
top:0;
right:0;
bottom:0;
margin:auto;
}
方法二:
父元素{
width:value;
height:value;
display:table-cell;
vertical-align:middle;
text-align:center;
}
注:display:table-cell;将元素转换为表格单元格形式
方法三:
在父元素中添加一个参照物,如<span></span>
元素{
vertical-align:middle;
}
span{
display:inline-block;
width:0;
height:100%;
vertical-align:middle;
}
父元素{
text-align:center;
}
结构:
<div class="box">
<img src="1.jpg"/><span></span>
</div>
前端之css(宽高)设置小技巧的更多相关文章
- NSAttributedString宽高计算小技巧
通常对于CoreText之类自己实现绘制的控件来说,计算富文本的宽高事实上须要依赖CTFramesetterSuggestFrameSizeWithConstraints这种方法. 但有些时候.我们可 ...
- css学习の第六弹—样式设置小技巧
一.css样式设置小技巧>>1.行内元素水平居中是通过给父元素设置 text-align:center 来实现的.html代码:<body> <div class=&qu ...
- CSS中的一下小技巧1之CSS3三角形运用
使用CSS3实现三角形: 在前端页面中有很多时候会遇到需要三角形图案的时候,以前不知道可以用CSS3实现三角形的时候,一般都是叫UI把三角形图案切出来. 后来知道原来可以用CSS3实现三角形,可是用过 ...
- Qt TabWidget QTabBar 宽高设置
/*************************************************************************** * Qt TabWidget QTabBar ...
- css选择器顺序的小技巧
在线演示 本地下载 css的选择器的顺序其实很有意思,如果应用的好的话,可以做一些简单的逻辑出来,配合上css3,就可以尽可能的脱离js了. 这里的演示是一个带有hover事件的四张照片,效果来自一个 ...
- 从零开始学习前端开发 — 7、CSS宽高自适应
一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法: ...
- CSS中的一下小技巧2之CSS3动画勾选运用
使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...
- ios UIWebView加载HTMLStr图文,关于图片宽高设置,webView内容实际高度的踩坑问题
一.关于UIWebView 与 WKWebView 选取问题 从发布时间看: 2008年7月11日,在新一代iPhone3G正式发售当天,iPhone OS 2.0(iOS 2.0)推出,这时候就有U ...
- JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制
1.元素的宽高 可以通过css来进行设置,例如:$("元素").css({"宽度":"值","高度":"值&q ...
随机推荐
- linux下mycat读写分离的配置
为什么要配置读写分离,我想我就不需要再赘述了,那么在mycat下如何进行读写分离的配置,配置之后的实际效率又如何呢?我上午根据文档捣鼓和测试了一下,这里做一下记录: 最开始,我们还是要配置mysql本 ...
- bzoj 2169 连边——去重的思想
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2169 如果之前都去好重了,可以看作这次连的边只会和上一次连的边重复. 可以认为从上上次的状态 ...
- bzoj2330糖果——差分约束
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2330 差分约束,再建立一个源点0,向所有点连边权为1的边,表示每个人都会分到糖果: 答案较大 ...
- 页面跳转问题,多次 push 到新的页面的问题的解决方法
今日在做一个扫一扫的功能,突然发现多次点击了扫一扫的图片后,造成多次触发轻拍手势,就多次push到新的页面,本想在轻拍手势内对push的进行拦截,但是又觉得如果有好多的地方都要实现对该问题的解决岂不是 ...
- Numbers Exchange
题意: Eugeny有n张卡片,他希望和Nikolay交换一些卡片使得他拥有的奇数数字和偶数数字的卡片数目一样,且所有数字都不同. Nikolay有m张卡片,分别写着1到m.问最少交换几次,能够满足要 ...
- PXE与cobbler实现系统自动安装
安装操作系统的流程事实上并不复杂,如果你要给三五台服务器安装系统那么我们手工去安装即可.但是当我们要部署的是大型机房的操作系统的时候显然手动安装去一台一台的点,是不现实的.尤其现在互联网行业高速发展, ...
- springboot+mongodb报错Caused by: java.net.ConnectException: Connection refused (Connection refused)
com.mongodb.MongoSocketOpenException: Exception opening socket at com.mongodb.connection.SocketStrea ...
- HDU - 4535 ZZULI 1867: 礼上往来【错位排序】
1867: 礼上往来 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 216 Solved: 65 SubmitStatusWeb Board Desc ...
- POJ 3067【树状数组】
题意: 给你两行数字,n个m个,然后给你k条线直接把两个数连起来,问有多少个交叉的 思路: 假定上一行是起点,下一行是终点. 把路按照起点从大到下排序, 然后可以直接对每条路查询,这条路目前的交叉数, ...
- MongoDb 数据修补笔记
1. 2013.08.21 KS 数据有严重问题, 缺乏数十秒数据, serialNumber 乱序