一、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(宽高)设置小技巧的更多相关文章

  1. NSAttributedString宽高计算小技巧

    通常对于CoreText之类自己实现绘制的控件来说,计算富文本的宽高事实上须要依赖CTFramesetterSuggestFrameSizeWithConstraints这种方法. 但有些时候.我们可 ...

  2. css学习の第六弹—样式设置小技巧

    一.css样式设置小技巧>>1.行内元素水平居中是通过给父元素设置 text-align:center 来实现的.html代码:<body> <div class=&qu ...

  3. CSS中的一下小技巧1之CSS3三角形运用

    使用CSS3实现三角形: 在前端页面中有很多时候会遇到需要三角形图案的时候,以前不知道可以用CSS3实现三角形的时候,一般都是叫UI把三角形图案切出来. 后来知道原来可以用CSS3实现三角形,可是用过 ...

  4. Qt TabWidget QTabBar 宽高设置

    /*************************************************************************** * Qt TabWidget QTabBar ...

  5. css选择器顺序的小技巧

    在线演示 本地下载 css的选择器的顺序其实很有意思,如果应用的好的话,可以做一些简单的逻辑出来,配合上css3,就可以尽可能的脱离js了. 这里的演示是一个带有hover事件的四张照片,效果来自一个 ...

  6. 从零开始学习前端开发 — 7、CSS宽高自适应

    一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法: ...

  7. CSS中的一下小技巧2之CSS3动画勾选运用

    使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...

  8. ios UIWebView加载HTMLStr图文,关于图片宽高设置,webView内容实际高度的踩坑问题

    一.关于UIWebView 与 WKWebView 选取问题 从发布时间看: 2008年7月11日,在新一代iPhone3G正式发售当天,iPhone OS 2.0(iOS 2.0)推出,这时候就有U ...

  9. JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制

    1.元素的宽高 可以通过css来进行设置,例如:$("元素").css({"宽度":"值","高度":"值&q ...

随机推荐

  1. C++之函数适配器--绑定器bind原理图解

    转自:http://www.cnblogs.com/xusd-null/p/3698969.html#3081606 本文解释了bind 是如何工作的.为了清晰,图中的语法作了一些简化(例如,省略函数 ...

  2. C/C++的const区别

    1.const基础知识(用法.含义.好处) int main() { const int a; //a为const,常数型数 int const b; //b为const,常数型数 const int ...

  3. java 02 内部类

  4. webpack 知识点总结

    1 webpack 的不同点: 1.1 实现代码分割 1.2 loaders 1.3 plugin system 2 webpack 打包css,需要使用css-loaders 使webpack识别c ...

  5. bzoj1095

    动态点分治 先建出点分树,每个点上维护两个堆,s1,s2,分别表示子树中到点分树中父亲的所有长度,每个儿子s1的最大值,那么对于每个点答案就是s2的最大+次大,再维护一个s3保存这个. 首先我们要搞一 ...

  6. B. One Bomb (#363 Div.2)

    B. One Bomb time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  7. 【eclipse插件开发实战】 Eclipse插件开发6——eclipse在线翻译插件Translator开发实例详解

    Eclipse插件开发6--eclipse在线翻译插件Translator开发实例详解 在上一篇文章中讲到了一个简单的eclipse插件开发实例,主要是对插件工程的基本创建步骤进行了讲解,这篇文章当中 ...

  8. 新版蜀山剑侠传3D立体格斗全方位剖析

    国人终极格斗<蜀山剑侠传>,突破传统横版格斗"二次元"瓶颈,率先开辟3D立体横版格斗网游先河,实现"有纬度"的空间化立体式全景3D战斗体验!游戏大量 ...

  9. jzoj5991. 【北大2019冬令营模拟2019.1.6】Juice

    题面 题解 好迷-- //minamoto #include<bits/stdc++.h> #define R register #define ll long long #define ...

  10. Mol Cell Proteomics. |廖文丽| 阿尔兹海默症临床前期的脑脊液中突触蛋白的变化先于神经变性标志物

    大家好,本周分享的是发表在Molecular & Cellular Proteomics. 上的一篇关于阿尔兹海默病临床前期生物标志物鉴定的文章,题目是Changes in synaptic ...