20110126 学习记录:一些关于html中布局的代码 CSS hack速查表


 

让你的浏览器body滚动条在左边 

 

 

direction: rtl;
 

 

 

HTML段落两端对齐代码

text-align:justify; text-justify:inter-ideograph;

图片垂直居中的使用技巧

 

“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。”

当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。

题目的难点在于两点:

  1. 垂直居中;
  2. 图片是个置换元素,有些特殊的特性。

至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法:

.box {
        /*非IE的主流浏览器识别的垂直居中的方法*/
        display: table-cell;
        vertical-align:middle;

        /*设置水平居中*/
        text-align:center;

        /* 针对IE的Hack */
        *display: block;
        *font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
        *font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/

        width:200px;
        height:200px;
        border: 1px solid #eee;
}
.box img {
        /*设置图片垂直居中*/
        vertical-align:middle;
}

<div class="box">
        <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" />
</div>

当然还有其他的解决方法,在此不深究,有兴趣的可以阅读下:

  • 《Vertical centering using CSS》
  • 《Vertical centering using CSS》(标题和上同,内容不同)
  • 《CSS List Grid Layout》
---------------------------------------------------------------------------------

 

OR

 

<div style="height:200px; position:relative; border:1px solid #FF0099">
<div style="height:50px; width:50px; position:absolute; background:#99CC66; top:50%; margin-top:-25px;">
</div>
</div>
 
 

CSS hack速查表

 

屏蔽IE浏览器(也就是IE下不显示)

*:lang(zh) select {font:12px  !important;} /*FF,可见,特别提醒:由于Opera最近的升级,目前此句只为FF所识别*/
select:empty {font:12px  !important;} /*safari可见*/
这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。

仅IE7与IE5.0可以识别

*+html  select {}
当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。

仅IE7可以识别

*+html  select {…!important;}
当面临需要只针对IE7做样式的时候就可以采用这个HACK。

IE6及IE6以下识别

* html  select {}
这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。
html/**/ >body  select {}
这句与上一句的作用相同。

仅IE6不识别,屏蔽IE6

select { display /*屏蔽IE6*/:none;}
这里主要是通过CSS注释分开一个属性与值,注释在冒号前。

仅IE6与IE5不识别,屏蔽IE6与IE5

select/**/ { display /*IE6,IE5不识别*/:none;}
这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5

仅IE5不识别,屏蔽IE5

select/*IE5不识别*/ {}
这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。

盒模型解决方法

selct {width:IE5.x宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度;}
盒模型的清除方法不是通过!important来处理的。这点要明确。

清除浮动

select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。

截字省略号

select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。

只有Opera识别

@media all and (min-width: 0px){ select {……} }
针对Opera浏览器做单独的设定。

以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。

IE5.x的过滤器,只有IE5.x可见

@media tty {
i{content:"\";/*" "*/}} @import 'ie5win.css'; /*";}
}/* */

IE5/MAC的过滤器,一般用不着

/*\*//*/
    @import "ie5mac.css";
/**/

IE的if条件Hack

<!--[if IE]> Only IE <![endif]-->
所有的IE可识别
<!--[if IE 5.0]> Only IE 5.0 <![endif]-->
只有IE5.0可以识别
<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->
IE5.0包换IE5.5都可以识别
<!--[if lt IE 6]> Only IE 6- <![endif]-->
仅IE6可识别
<!--[if gte IE 6]> Only IE 6/+ <![endif]-->
IE6以及IE6以下的IE5.x都可识别
<!--[if lte IE 7]> Only IE 7/- <![endif]-->
仅IE7可识别

以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。

 

 

转载于:https://www.cnblogs.com/neru/archive/2011/01/26/1945094.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html如何实现切换效果,纯CSS实现页签切换效果

主要运用了 CSS3 的 :checked 选择器&#xff0c;代码结构跟使用js差不多&#xff0c;只是多了几个radio&#xff0c;不知道性能上是js快还是css快呢&#xff1f;CSS3 TABbody {font-family: Microsoft YaHei;font-size: 14px;background-color: #f5f4f7;margin: 0;color: #252…

上午写了一段代码,下午就被开除了~

俗话说得好&#xff0c;“代码写的少&#xff0c;离职少不了”。最近畅游互联网&#xff0c;发现一些离职小技巧&#xff0c;读后&#xff0c;内心被深深地打动了……但是&#xff0c;细细品过之后&#xff0c;发现对我们程序员不太适用了。例如&#xff1a;领导夹菜你转桌&…

nginx加载html目录下图片,nginx配置访问图片路径以及html静态页面的调取方法

nginx配置访问图片路径以及html静态页面的调取方法发布时间&#xff1a;2017-03-09 12:06来源&#xff1a;互联网当前栏目&#xff1a;web技术类给大家讲一个快速配置nginx访问图片地址&#xff0c;以及访问html静态页面的配置。1.实验环境首先随便某个路径下创建相应的目录。如…

一些Select检索高级用法

信息来源: 邪恶八进制信息安全团队 SQL五个集合函数&#xff1a;SUM,AVG,COUNT,MAX,MIN 通配符的一些用法&#xff1a;(关键字&#xff1a;like % [] -)select * from tablename where column1 like [A-M]%这样可以选择出column字段中首字母在A-M之间的记录select * from table…

这5个bug我不信你没有写过

大家好&#xff0c;我是写代码的篮球。计算机专业的小伙伴&#xff0c;在学校期间一定学过 C 语言。它是众多高级语言的鼻祖&#xff0c;深入学习这门语言会对计算机原理、操作系统、内存管理等等底层相关的知识会有更深入的了解&#xff0c;所以我在直播的时候&#xff0c;多次…

微信小程序继续入坑指南

微信小程序继续入坑指南 wxml 类似于html 感觉和ejs灰常的相似 数据绑定 js Page({data: {message: "hello world"} })wxml <view>{{message}}</view> 使用的是https://mustache.github.io/模板引擎系统 对组件的属性和控制属性的更改 <view id"…

思科收购网络安全管理厂商Pari Networks

思科收购网络安全管理厂商Pari Networkshttp://netsecurity.51cto.com 2011-01-28 09:39 胡杨 译 网界网 我要评论(0)摘要&#xff1a;思科本星期宣布&#xff0c;它打算收购私营企业Pari Networks。这个企业是前思科工程师创建的&#xff0c;主要提供网络配置、变更和合规…

20年软件工程师的经验

软件工程师在做设计的时候&#xff0c;一定要有设计的思维&#xff0c;码农如果只是砌砖的&#xff0c;那么他的可替代性和技能能力并不高。前段时间看到一个设计师傅&#xff0c;在很狭小的空间内设计了非常非常不错的室内设计&#xff0c;利用了每一个可以利用的地方。如果我…

html超市代码,前端 CSS : 5# 纯 CSS 实现24小时超市

介绍原文链接感謝 comehope 大佬的 [前端每日实战]效果预览源代码地址代码解读1. html 结构命名规则使用了 BEM常规样式初始化* {margin: 0;padding: 0;box-sizing: border-box;}body {height: 100vh;overflow: hidden;}2. 街道背景街道背景分为两部分深蓝色的天空.street {hei…

继续努力奋斗,生活会更美好

回想起2010年&#xff0c;有点留恋&#xff0c;又有点让我伤感。 在北京这么长时间了&#xff0c;也该有段难忘的事啊&#xff01; 人们都说现时很残酷&#xff0c;才发现我的感觉是错的。现时让我很无奈。 现在不是以前。要做现在的自己。 做自己所想的&#xff0c;想自己所做…

送30块树莓派PICO 开发板!

大家好&#xff0c;今天是周日&#xff0c;给大家搞个小抽奖&#xff0c;送30块。嵌入式猛男必备&#xff0c;学嵌入式看『我要学嵌入式』&#xff0c;知识持久有力。点击关注&#xff0c;回复【1031】参与抽奖&#xff0c;免费送 10块 树莓派最新PICO开发板。学C语言看『写代码…

会考计算机考试vb知识点,高中会考计算机vb知识点.doc

学 海 无 涯PAGEPAGE 1一、知识点1&#xff0e;对象、属性、类、事件和事件处理的概念(1)对象是客观存在的事物或概念。它有两个特点&#xff1a;状态和行为。(2)一个对象的状态是通过若干个属性(property)来描述的&#xff1b;行为是指对属性进行操作和处理的方法(method)。在…

[转]过度情绪化心智模式的10大特征——看看你有几个?

1. 或者完胜或者完败的思考方式&#xff1a;这样考虑问题的人只用黑和白两种颜色来划分一切。如果某件事不是很完美&#xff0c;那他就认为这件事是彻底的失败。2. 过度概括&#xff1a;这时一个人会使用“总是”、“从来也不能”等字眼&#xff0c;并将一个单独的事件看作是一…

嘉立创又搞大事情了,与你我相关!

你们一定不知道嘉立创最近又悄咪咪的做了一件大事儿&#xff0c;硬创社硬件项目共享平台上线公测啦&#xff0c;这是一个帮助电子工程师实现技术变现的平台&#xff0c;平台刚刚上线公测&#xff0c;前期还在邀请电子工程师填充内容阶段&#xff0c;即日起平台每上传一个项目就…

c html联调,JS与native 交互简单应用

JS与native 交互简单应用一、objectiveC 语法简介二、简易项目浏览器搭建新建项目步骤&#xff1a;1>DraggedImage.png2>2222.png3>33333.png4>4444.png建立一个小的浏览器即webview关键代码如下&#xff1a;// context 上下文也可以在此处获取&#xff0c;开始加载…

基于Extjs的OPOA

基于ExtJs的opoa系统 OPOA是one page ,one application的简称&#xff0c;即单页系统&#xff0c;也就是说一个系统只有一个页面。就是要求所有其他的页面都以插件的形式在主页里显示&#xff0c;点击主页的一个菜单或链接按钮&#xff0c;调用一个模块的插件。插件在主页里以t…

写给我弟

我堂弟今年24岁&#xff0c;也是我最小的一个堂弟&#xff0c;我想给他说点事&#xff0c;想告诉他一些东西&#xff0c;但是也担心自己所说的&#xff0c;并不能让他认同和接受。我心里一定是有我弟的&#xff0c;也是装着我弟的&#xff0c;所以我弟的事情&#xff0c;我自己…

Chrome插件(扩展)

【干货】Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文&#xff0c;并精心写下完整demo&#xff0c;写博客的辛苦大家懂的&#xff0c;所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面&#xff1a;https://github.com…

计算机科学与技术 天涯,计算机科学与技术专业

计算机科学与技术专业业务培养目标&#xff1a;本专业培养具有良好的科学素养&#xff0c;系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法&#xff0c;能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事…

Apache OpenJPA 2.1.0 发布

OpenJPA 是 Apache 组织提供的开源项目&#xff0c;它实现了 EJB 3.0 中的 JPA 标准&#xff0c;为开发者提供功能强大、使用简单的持久化数据管理框架。OpenJPA 封装了和关系型数据库交互的操作&#xff0c;让开发者把注意力集中在编写业务逻辑上。OpenJPA 可以作为独立的持久…