WEB前端开发笔试题(1)

1.上面两个div在使用纯CSS的情况下,保持在任何尺寸的页面中都横向居中,垂直居中(页面大小不固定)。

<html>

<head>

<title>横向居中,垂直居中</title>

<style>
#div1{
width:600px;
height:100px;
border:1px solid #0F0;
position:absolute;
top:50%;
left:50%;
margin:-50px 0 0 -300px;
}
#div2{
width:100px;
height:600px;
background:#090;
position:absolute;
top:50%;
left:50%;
margin:-300px 0 0 -50px;
}
</style>
</head>

<body>
<div id="div1"></div>
<div id="div2"></div>
</body>

</html>

2.如何实现一个层在浏览器中垂直左右居中?

让DIV水平和垂直居中,必需知道该DIV得宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50% 。

其实解决的思路是这样的:首们需要position:absolute;绝对定位。而层的定位点,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以二。

如:一个层宽度是400,高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-top的值为-150。margin-left的值为-200。这样我们就实现了层垂直居中于浏览器的样式编写。

<style type="text/css">
<!-- 
div {
position:absolute;
top:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border:1px solid #008800;
}
-->
</style>

3.点击上面的标题区域,拖动移动整个框。

<div id="movediv" style="width:250px;height:200px;border:2px #090 solid; position:absolute;left:400px;top:218px;">
<div id="movespan" style="background:#090;width:220px; height:50px; margin:5px auto;" >标题区!</div>
<div style="background:#999;width:220px;height:130px;margin:5px auto;"></div>
</div>
<script>
var dragdrop={
registerDragdropHandler:function(handler,target,cursor){ // 注册鼠标移动的一些事件。
 var _IsMousedown=false,_ClickLeft=0,_ClickTop=0;
 var _hDom=this.get(handler);
 var _tDom=this.get(target);
 _hDom.style.cursor=cursor||"move";
 
    function startDrag(evt){ // 按下鼠标左键时的事件。
  evt=window.event||evt; // 获取当前事件对象。
  _IsMousedown=true; // 记录已经准备开始移动了。
  _ClickLeft=evt.clientX-parseInt(_tDom.style.left); // 记录当前坐标轴。
  _ClickTop=evt.clientY-parseInt(_tDom.style.top);
 }
    function doDrag(evt){ // 鼠标开始移动时的事件。
  evt=window.event||evt; // 获取当前事件对象。
  if(!_IsMousedown)return false; // 如果_IsMousedown不等于真了返回。
  _tDom.style.left=evt.clientX-_ClickLeft+"px"; // 把鼠标当前移动的位置赋值给div
  _tDom.style.top=evt.clientY-_ClickTop+"px"; // 当前位置减去开始位置就是层当前存放的位置。
 }
    function endDrag(){ // 释放鼠标左键时的事件。
  if(_IsMousedown){ // 如果_IsMousedown还为真那么就赋值为假。
  if(this.isIE) _tDom.releaseCapture(); //该函数从当前的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。
  _IsMousedown=false;
  }
 }
    _hDom.onmousedown=startDrag; // 鼠标按下事件。
 document.onmouseup=endDrag; // 鼠标释放事件。
 document.onmousemove=doDrag; // 鼠标移动事件。
 _tDom.onselectstart=_tDom.oncontextmenu=function(){return false;}; // 禁止选择和右键菜单。
},
isIE:(navigator.appName=="Microsoft Internet Explorer"), // 判断是否为IE。
get:function(element){ // 通过一串字符返回一个对象。
 if(typeof(element) == "string"){
  return document.getElementById(element);
 }
 return element;
}
};
// 使用方式如下:
dragdrop.registerDragdropHandler("movespan","movediv");
</script>

4.点击下面按钮出现提示框,再次点及其他地方按钮消失。

<style>
#msg{
width:180px;
border:1px solid #009933;
height:150px;
display:none;
background:#ffffff;
position:absolute;
text-align:center;
line-height:150px
}
#btn{
width:182px;
height:35px;
line-height:35px;
background:#009933;
position:absolute;
top:350px;
left:300px;
border-radius:10px;
text-align:center;
}
</style>

</head>

<body>

<div id="msg">提示框</div>
<div id="btn">按钮</div>

<script type="text/javascript">

//判断event指向的对象,比如判断元素的ID是否是给出
document.onclick = function (e) {
e =e || event; //e对象存在时回返e,当window.event存在时返回event,如果是IE下的  就走 window.event,不是就直接 e=e


var btn = document.getElementById("btn");
var msg = document.getElementById("msg");
var target = e.target || e.srcElement; //e.target 是目标对象,e.event是目标所发生的事件,ie下支持e.srcElement,ff支持e.target,e.target捕获当前事件作用的对象

if (target !== btn && target !== msg) {
msg.style.display = "none";
} else {
msg.style.top = (btn.offsetTop - 160) + "px"; //offsetTop当前对象到其上级层顶部的间隔.
msg.style.left = btn.offsetLeft + "px"; //当前对象到其上级层左边的间隔.
msg.style.display = "block";
}
}
</script>
</body>
</html>

5.如何在DIV层中实现文字的水平垂直居中。

假设你的DIV是高度100PX,宽度是1000PX,那你这样写,你的文字就会水平垂直居中:

<div style="width:1000px; height:100px; text-align:center; line-height:100px; border:blue solid 1px;overflow: hidden "> 水平垂直居中

</div> CSS是这样的,text-align:center意思就是说,让这个DIV里的文字水平居中,而line-height:100px;的意思是说,让DIV里面的每一行文字,占的高度为100PX(和那个DIV的高度一样),这样,文字就垂直居中了。也就是说,如果你的DIV是200PX高,那你就让line-height:200px;文字就会垂直居中了。最后,一定要加overflow: hidden,防止div中的内容溢出。

6.如何让图片在div里左右居中,上下居中

要想让图片左右对齐,我们可以在div里写入"style:text-align:center;"代码来实在div里写入"line-height:300px;vertical-align:middle",发现IE7这时候也有效果了。但firefox图片还没垂直居中。(这里的"line-height:300px"是根据div的高度确定的。)

再对div增加样式:"display:table-cell",现在看看firefox也好了。

<style>
.photo{width:600px; height: 600px; border:1px solid #090;display:table-cell;overflow:hidden; text-align:center;vertical-align:middle}

</style>

</head>

<body>

<div class="photo"><img src="1.png" alt="你好"/></div>

</body>
</html>

时间: 2024-10-10 07:45:25

WEB前端开发笔试题(1)的相关文章

web前端开发面试题

转自:http://segmentfault.com/a/1190000000465431 问题 此部分用于自测.如有疑惑,可参看后文的答案部分. HTML Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 介绍一下CSS的盒子模型? link 和@import 的区别是? CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些? 如何居中div?如何居中一个浮动元素? 浏览器的内核分别是

(转)Web前端开发面试题集锦(附答案)

1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母.数字.下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/; reg.test(“a1a__a1a__a1a__a1a__”); 2,截取字符串abcdefg的efg var str = “abcdefg”; if (/efg/.test(str)) { var efg = str.substr(str.indexOf(“efg”), 3); alert(efg); } 3,

Web前端开发面试题赋答案

第一部分:用CSS实现布局 让我们一起来做一个页面 首先,我们需要一个布局. 请使用CSS控制3个div,实现如下图的布局. 第二部分:用javascript优化布局 由于我们的用户群喜欢放大看页面 于是我们给上一题的布局做一次优化. 当鼠标略过某个区块的时候,该区块会放大25%, 并且其他的区块仍然固定不动. 提示: 也许,我们其他的布局也会用到这个放大的效果哦.可以使用任何开源代码,包括曾经你自己写的. 关键字:javascript.封装.复用 第三部分:处理紧急情况 好了,我们的页面完成了

2014网易前端开发笔试题-解答

原文来自:http://yjbys.com/bishi/timu/585868.html 主要是为了今晚的网易笔试.整理一下 1.(2分)对于多关键字而言,那种文件组织方便而又高效() A.顺序文件 B.倒排文件 C.散列文件 D.B+树索引文件 解析:答案 B. 文件在外存上的基本的组织方式有四种:顺序组织,索引组织,散列组织和链组织;对应的的文件名称分别为:顺序文件.索引文件.散列文件和多关键字文件.选择哪一种文件组织方式,取决于对文件中记录的使用方式和频繁程度.存取要求.外存的性质和容量.

前端开发笔试题

part1:Css 1.css中,Transform,Transition,Animation的区别?import和link的区别? 2.请用css画一个三角形和圆? 3.请解释css sprites和iconfonts? 4.行内元素和块级元素的区别? part2:JavaScript 1.列举异步加载JS的方式? 2.给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组? 3.请用JS编写一个方法实现获取url参数值

总结的一些前端开发笔试题

最近正忙于前端的应聘,在网络上搜集了一些问题,顺便结合网络答案,自己也整理了一部分,如有纰漏,还望批评指正. 1.请写出至少三个CSS3中新添加的样式属性的名字: (1)增强的文本属性:text-shadow(CSS2.1中已定义,但CSS3中又重新定义并增加了不透明度效果).text-overflow.word-wrap; (2)新增的盒模型属性:box-align.box-direction.box-flex.box-flex-group.box-lines.box-orient.box-p

37道WEB前端开发面试题之JavaScript篇章!

ajax, 跨域, jsonp 参考: <JavaScript>高级程序设计第21章:Ajax和Comet jQuery中Ajax操作 apply和call的用法和区别: 用法: 都能继承另一个对象的方法和属性,区别在于参数列表不一样 区别: Function.apply(obj, args) args是一个数组,作为参数传给Function Function.call(obj, arg1, arg2,...) arg*是参数列表 apply一个妙用: 可以将一个数组默认的转化为一个参数列表

web前端开发面试题(未完待续)

一.HTML与XHTML的不同:1)XHTML元素必须被正确地嵌套 2)元素必须被关闭   如:<h1>--</h1>关闭 3)标签名必须用小写字母 4)XHTML文档必须有根元素 二.盒子模型:CSS框模型(BOX Model)规定了元素框处理元素内容.内边距.边框.和外边距的方式,俗称盒子模型. 三.多列布局分为:圣杯布局和双飞翼布局 双飞翼布局(常用)和圣杯布局的相同点和不同点: 相同点:1)中间栏放最前面(最先加载) 2)每一部分都要浮动(float) 3)左边:margi

一个校园实验室的纳新试题——(2)我的服务端开发笔试题

晚上整理 一个校园实验室的纳新题——(1)资源整理 http://www.cnblogs.com/corvoh/p/4869403.html 服务端开发笔试题 1.简述const与define的区别. 在PHP中定义常量时,const与define的区别: 用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时 要比define快得多.在PHP 5.3.0 以后,可以使用const关键字在类定义的外部定义常量,先前版本const 关键字只能