CSS技巧,CSS设置任何元素宽度随内容增加自动变宽

宽度随内容增加自动变宽的问题,看起来简单,但网上各种找不到。

其实感觉以前在布局的时候在哪里遇到过自动变宽,想了好久好像记得只有用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; 恍然大悟啊!!

所以 元素宽度随内容增加自动变宽 就是是这么来的。


今天还搜索到了 双飞翼布局。 记录下关键字

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值