CSS技巧,CSS设置任何元素宽度随内容增加自动变宽
2015-01-28 21:31
375 查看
宽度随内容增加自动变宽的问题,看起来简单,但网上各种找不到。
其实感觉以前在布局的时候在哪里遇到过自动变宽,想了好久好像记得只有用table布局的时候吧,但是不可能哪里都用table,如果用层那怎么办呢。
然后又发现了一个熟悉,display!!没错,就是它,很平常的一个属性,块状元素嘛,几乎天天用,居然忽略了。
记录一下。不用那么麻烦用 js 了。
参考于:http://www.douban.com/note/28773492/
这个链接里面讲的是浮动居中的问题,我这里解释一下
首先有三个层,
第一个层的宽度是100%,就是浏览器的整屏宽度。
第二个层向左偏离50% left:50%,
前两个都辅助层,第三个才是我们要的。
现在如果第三个层,向左偏离它自身宽度的50%,那么就OK了,可是宽度我们不知道啊,怎么办呢?
DOM元素有个继承的特性,我们知道第三个层是继承第二个层的,那么我们这样想,如果第二个层的宽度刚好是第三个层的宽度,那么第三个层用left:-50%;,不就可以了吗,所以
第三个层: left:-50%;
大概的原理就是这样。
我找到这段代码唯一的困惑点就是 第二个层怎么随着第三个层宽度变化而变化,因为div的宽度默认都是100%; 看了看代码 发现有个 display:table; 恍然大悟啊!!
所以 元素宽度随内容增加自动变宽 就是是这么来的。
今天还搜索到了 双飞翼布局。 记录下关键字
其实感觉以前在布局的时候在哪里遇到过自动变宽,想了好久好像记得只有用table布局的时候吧,但是不可能哪里都用table,如果用层那怎么办呢。
然后又发现了一个熟悉,display!!没错,就是它,很平常的一个属性,块状元素嘛,几乎天天用,居然忽略了。
<div style="display:table;"></div>给元素加上 display:table; 就OK了。
记录一下。不用那么麻烦用 js 了。
参考于:http://www.douban.com/note/28773492/
这个链接里面讲的是浮动居中的问题,我这里解释一下
首先有三个层,
第一个层的宽度是100%,就是浏览器的整屏宽度。
第二个层向左偏离50% left:50%,
前两个都辅助层,第三个才是我们要的。
现在如果第三个层,向左偏离它自身宽度的50%,那么就OK了,可是宽度我们不知道啊,怎么办呢?
DOM元素有个继承的特性,我们知道第三个层是继承第二个层的,那么我们这样想,如果第二个层的宽度刚好是第三个层的宽度,那么第三个层用left:-50%;,不就可以了吗,所以
第三个层: left:-50%;
大概的原理就是这样。
我找到这段代码唯一的困惑点就是 第二个层怎么随着第三个层宽度变化而变化,因为div的宽度默认都是100%; 看了看代码 发现有个 display:table; 恍然大悟啊!!
所以 元素宽度随内容增加自动变宽 就是是这么来的。
今天还搜索到了 双飞翼布局。 记录下关键字
相关文章推荐
- CSS中如何把Span标签等行内元素设置为固定宽度及div中内容垂直居中
- css 如何设置 某div 里面的所有图片的最大宽度。当加入文章里图片时,图片自动按比例减小。
- 设置一搓元素自动适应宽度
- jquery获取设置下拉菜单值,增加下拉菜单元素,清空下拉框内容
- UIWebView 加载js内容 设置宽度自动换行
- duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
- 通过设定css令TD内容超过长度设置时,自动缩略
- ligerUI的 ligerGrid动态列设置后,表头宽度不自动增加的问题.
- css div设置float后高度不能自动增加
- [jQuery][css]通过$("#id").width();设置元素宽度在火狐无效
- css div设置float后高度不能自动增加
- 帮助自动生成页面任何元素的Label的CSS类库 - Label.css
- css中设置table中的td内容自动换行
- get新技能: 如何设置元素高度与宽度成特定比例。宽度改变,高度自动按比例改变。 例如设置宽高比16:9。
- css div设置float后高度不能自动增加
- 关于datagridview自动增加行高度和显示全部内容的设置
- td 内容自动换行 table表格td设置宽度后文字太多自动换行
- 帮助自动生成页面任何元素的Label的CSS类库 - Label.css
- td 内容自动换行 table表格td设置宽度后文字太多自动换行