css笔记——day3(盒子模型)_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2135 | 回复: 0   主题: css笔记——day3(盒子模型)        下一篇 
CinderellaPink
注册用户
等级:少校
经验:1071
发帖:56
精华:0
注册:2015-7-15
状态:离线
发送短消息息给CinderellaPink 加好友    发送短消息息给CinderellaPink 发消息
发表于: IP:您无权察看 2015-9-10 11:54:53 | [全部帖] [楼主帖] 楼主

一、盒的类型 
1.inline-block
css中我们使用display来定义盒的类型,总体上分为block与inline类型。
css2.1追加了一个盒类型:inline-block,他属于block类型之一,但在显示上具有inline的特点,ie8以下不支持该属性
曾经我们若是要实现分列显示多个block元素是要借助于float属性的,
但是float是魔鬼,他根本就不应该用于布局,他会吞噬元素/破坏元素,让元素高度失效,最后让元素脱离文档流,
float还会引起父级元素的“塌方”,然后我们又需要清除浮动,而且浮动可能引起很多bug,所以应该尽量少用他布局。
比如一行多列布局,我们完全就可以用inline-block属性替代之,bug也会少很多的。

2.inline-table
用于表格前后文字不换行,并可设置vertical-align 设置外部文字top对齐或者bottom对齐。

3.list-item
可以将div变为列表显示,个人认为意义不大。

4.run-in/compact
将元素指定为以上两个类型时,若果元素后面还有block类型的元素,run-in元素将会被包含在block元素的内部,而compact类型的元素将被放置在左边。

二、对于盒模型容纳不下的元素 
如果块级元素拥有高宽,设置overflow可以控
制显示....该属性较熟悉变不研究了。
在css中有一个非常有用的属性“text-overflow”,若是文字超出宽度,便会显示“这节基本没什么东西。。。。...”省去了我们js操作的过程。

三、对盒使用阴影
box-shadow  

基本语法是{box-shadow:[inset] x-offset y-offset blur-radius spread-radiuscolor}

对象选择器 {box-shadow:[投影方式] X轴偏移量 Y轴偏移量阴影模糊半径 阴影扩展半径 阴影颜色}

兼容ie下模拟css3中的box-shadow阴影效果


方法一:可以使用IE的Shadow滤镜

基本语法:filter:progid:DXImageTransform.Microsoft.Shadow(color=’颜色值’, Direction=阴影角度(数值),Strength=阴影半径(数值));

注意:该滤镜必须配合background属性一起使用,否则该滤镜失效。

IE下模拟css3中的box-shadow(阴影)代码:


  • .box-shadow{  

  •     filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696',Direction=135, Strength=5);  

  •     background-color: #ccc;  

  •     -moz-box-shadow:2px 2px 5px #969696;  

  •     -webkit-box-shadow:2px 2px 5px #969696;  

  •     box-shadow:2px 2px 5px #969696;  

  • }  

例子:

  • li.blk-item{  

  •          width:423px;  

  •          height:229px;  

  •          float:left;  

  •          padding:8px;  

  •          margin:2px 18px 13px 21px;  

  •          display:inline;  

  •          border:1px solid #d3c998;  

  •          border-radius:2px;  

  •          filter:progid:DXImageTransform.Microsoft.Shadow(color='#d3c998', Direction=135,Strength=5);  

  •          background-color: #fff;  

  •          -moz-box-shadow:2px 2px 5px#d3c998;  

  •          -webkit-box-shadow:2px 2px 5px#d3c998;  

  •          box-shadow:2px 2px 5px #d3c998;  


  • }  


方法二:有些js和.htc的hack文件可以实现IE中的阴影效果。

ie-css3.htc是一个可以让IE浏览器支持部份CSS3属性的htc文件,不只是box-shadow,它还可以让你的IE浏览器支持圆角属性border-radius和文字阴影属性text-shadow。

它的使用方法是:下载它并放到你的服务器目录

在你的<head></head>里面写入下面的代码:

这个脚本的缺点是IE只支持一部分的box-shadow值。需要注意:

  • 当你使用了这个htc文件后,你的CSS里面,只要写有box-shadow, -moz-box-shadow或-webkit-box-shadow的任何一种,IE就会渲染。

  • 当使用了这个htc文件后,你不能这样写box-shadow: 0 0 10px red; 而应该是box-shadow: 0px 0px 10px red; 否则IE中会失效。

  • 不支持RGBA值中的alpha透明度。

  • 不支持inset内阴影。

  • 不支持阴影扩展。

  • 阴影在IE中只会显示为黑色,不管你设置成其它什么颜色。


方法三:使用jQuery的插件jquery.boxshadow.js插件的下载地址是http://www.hintzmann.dk/testcenter/js/jquery/boxshadow/jquery.boxshadow.js

使用方法很简单,将该文件和jquery版本库引入head标签,插入以下js效果代码:

  • <script type="text/javascript">  

  •           $(document).ready(function(){  

  •    if($.browser.msie) {  

  •      $('.obj').boxShadow(-10,-10,5,"#0cc"); //obj元素使用了box-shadow  

  •    }  

  • });  

  • </script>  

注意:js中可以使用:obj.style.webkitBoxShadow=值(字符串);obj.style.MozBoxShadow=值(字符串);obj.style.boxShadow=值(字符串);


四、box-sizing属性 





赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论