DIV+CSS常见面试题
1.!important拥有最高的优先级,几乎所有浏览器都支持!important,除了IE6(不完全支持)
例1(IE6支持,颜色为#e00):
.cssClass{color:#e00!important;}
.cssClass{color:#000;}
例2(IE6不支持,颜色为#000):
.cssClass{color:#e00!important; color:#000}
2.display:inline-block应用此特性的元素呈现为内联对象,四周元素保持在同一行,但可以设置宽度和高度等块元素的属性
并不是所有浏览器都支持此属性
在低版本IE中对元素使用display:inline-block,行级元素不会有任何问题,但块级元素则不然...
对于行级元素,解决办法:
.cssClass{display:inline-block; zoom:;...}
对于块级元素,要想在IE6、IE7中达到inline-block的效果,解决办法:
.cssClass{display:inline-block; zoom:; *display:inline;...}
3.绝对定位时,层与层之间的叠盖问题
有以下代码:
<div id="block1"><div id="block3">A</div></div>
<div id="block2"><div id="block4">B</div></div>
<style type="text/css">
#block1{background:#f0c; border:1px dashed #000; position:absolute; left:0px; top:0px; width:100px; height:100px; z-index:2;}
#block2{background:#fc4; border:1px dashed #000; position:absolute; left:120px; top:0px; width:100px; height:100px; z-index:3;}
#block3{background:#c7f; border:1px dashed #000; position:absolute; left:60px; top:0px; width:50px; height:50px; z-index:10;}
#block4{background:#f00; border:1px dashed #000; position:absolute; left:-20px; top:0px; width:50px; height:50px; z-index:1;}
</style>
结果是z-index只有1的block4挡住了block3,也能挡住block1,原因是受到其父元素block2的影响(z-index值大于block1)
同理,block3不能挡住block2,原因是受到其父元素block1的影响(z-index值小于block2)
绝对定位的定位基准是最近的被定位的父级元素(该元素的定位可以是 absolute 或 relative ),若没有就一直往上一级直到body。而相对定位的定位基准则是他本身在固定定位时的所处位置。
4.经典的屏幕宽度自适应的左中右三列布局(左右列宽度固定,中间列宽度自适应)
解决方案1:
<div id="head">头部(3列布局,左右两栏宽度固定,中间栏自适应宽度)</div>
<div id="content">
<div id="left">左栏固定宽度为200px</div>
<div id="right">右栏固定宽度为200px</div>
<div id="center">中间自适应宽度</div>
</div>
<!--注意这里,中间3列的div的顺序不是"左中右",而"左右中",中间一列写在最后-->
<div id="foot">底部</div>
<style type="text/css">
#head{margin-bottom:10px;}
#content{overflow:hidden;}
#left{float:left; width:200px;}
#center{margin:0 210px;}
#right{float:right; width:200px;}
#foot{margin-top:10px; clear:both;}
div{background-color:#eee; border:dotted 1px #000;}
</style>
当然,在最外层添加一个宽度固定,居中的层,就可以定义页面整体的最大宽度了。
这种布局方式最大的缺点是中间块的内容宽度不能太大,若果大于“屏幕横向分辨率-左右两块宽度之和”,那中间列就“下沉”了
解决方案2:
<div class="main">
<div class="head">head</div>
<div class="wrap">
<div class="content">content</div>
<div class="left">left</div>
<div class="right">right</div>
<div class="clear"></div>
</div>
<div class="foot">foot</div>
</div>
<style type="text/css">
.main{width:auto; margin:0 auto; text-align:center;}
.head{height:150px; line-height:150px; background:#F00;}
.wrap{padding:0 300px 0 200px; overflow:hidden;}
.content{float:left; width:100%; height:300px; background:#0F0;}
.left,.right{position:relative; _display:inline; height:300px;}
.left{width:200px; float:left; margin-left:-100%; right:200px; _right:-300px; background:#00F;}
.right{width:300px; float:right; margin-right:-300px; background:#FF0;}
.clear{clear:both; height:0px; line-height:0px; overflow:hidden;}
.foot{height:150px; line-height:150px; background:#0FF;}
</style>
这个方案代码比方案1代码复杂了不少,但这方案是目前所知的最好、最经典的解决方案
5.怎样使一张大小不定的图片在容器里水平且垂直居中显示
解决方案1:
<div class="box">
<img src="data:images/icons.png" alt="11"/>
<span></span>
</div>
<style type="text/css">
.box{width:600px;height:600px;border:1px solid #000; text-align:center;}
span{display:inline-block;height:100%;vertical-align:middle;}
img{ vertical-align:middle;}
</style>
解决方案2:
<div>
<p><img src="logo.gif" /></p>
</div>
<style type="text/css">
div{
width:500px;
height:500px;
border:1px solid #ccc;
overflow:hidden;
position:relative;
display:table-cell;
text-align:center;
vertical-align:middle;
}
div p{
position:static;
+position:absolute;
top:50%;
}
img{
position:static;
+position:relative;
top:-50%;
left:-50%;
width:276px;
height:110px;
}
</style>
DIV+CSS常见面试题的更多相关文章
- 【javascript常见面试题】常见前端面试题及答案
转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...
- Vue常见面试题汇总
Vue框架常见面试题 1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么 ...
- Web开发的常见面试题HTML和HTML5等
作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...
- java常见面试题及答案 1-10(基础篇)
java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...
- 常见面试题之ListView的复用及如何优化
经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的.这次的 ...
- iOS常见面试题汇总
iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...
- JDBC常见面试题
以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...
- Mybatis常见面试题
Mybatis常见面试题 #{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是 ...
- JavaSE:数据类型之间的转换(附常见面试题)
数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...
随机推荐
- SPOJ 8222. Substrings(后缀自动机模板)
后缀自动机+dp. 后缀自动机主要是在functioner大牛那里学习的:http://blog.sina.com.cn/s/blog_70811e1a01014dkz.html 这道题是在No_st ...
- python二维码操作:QRCode和MyQR入门
1.QRCode QRCode最简单的使用 import qrcode qrcode.make("第一个二维码").get_image().show() 根据文本生成二维码并且直接 ...
- redis整理の配置
redis有一个很强大也很重要的配置文件redis.conf.此文件可以随服务启动,为服务配置各种不同场景所需的参数: daemonize: 默认情况下,redis 不是在后台运行的,如果需要在后台运 ...
- Linux Guard Service - 守护进程的作用、用途、父进程标识的特点
让test2直接成为守护进程 [root@localhost 02]# cat test2.c //test2 #include<stdio.h> #include<unistd.h ...
- Robot Framework连接MySQL数据库
注:内容来自网络,整理之如下 Robot Framework连接mysql数据库需要: 1.安装databaselibrary.pymysql 通过cmd命令执行:pip install robotf ...
- django学习篇
https://www.cnblogs.com/alex3714/category/818260.html https://www.cnblogs.com/zhanghongfeng/catego ...
- leetcode 45. 跳跃游戏 II JAVA
题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1, ...
- linux命令之文件系统管理命令(下)
1.mount:挂载文件系统 该命令可以将指定的文件系统挂载到指定目录(挂载点),在linux中必须先挂载所有的设备,才能够访问,挂载的目录必须事先存在并且最好为空. 参数 说明 -t(常用) 指定挂 ...
- 洛谷P5050 【模板】多项式多点求值
传送门 人傻常数大.jpg 因为求逆的时候没清零结果调了几个小时-- 前置芝士 多项式除法,多项式求逆 什么?你不会?左转你谷模板区,包教包会 题解 首先我们要知道一个结论\[f(x_0)\equiv ...
- mysql主从同步错误,提示The server quit without updating PID file
在安装完lnmp后,启动mysqld失败,提示 [root@centos-6 ~]# service mysqld start Starting MySQL [确定][root@centos-6 ~] ...