页面布局技巧&&js相关知识点&&乱七八糟

1、frameset的使用

 

基本使用:

<frameset frameborder="no" framespacing="0" rows="160px,*,205px" />
	<frame name="top" noresize="noresize" scrolling="no" src="top.html">
	<frame name="center" noresize="noresize"  scrolling="no" src="index1.html">
	<frame name="bottom" noresize="noresize" scrolling="no" src="bottom.html">
</frameset>

 

这是一段基本的frameset使用代码,他的作用是把“可视化的界面(就是我们当前在屏幕上看到的界面)”分成上中下三个部分。以下是各个属性的解释:

 

noresize:设置框架大小是否能手动调节。

scrolling:当前部分是否出现滚动条。

frameborder:设置是否显示框架边框。

framespacing:表示框架与框架之间的保留的空白距离。一般设置为0,不留空白。

<noframes></noframes>标志对也是放在<frameset></frameset>标志对之间,用来在那些不支持框架的浏览器中显示文本或图像信息。在此标志对之间先紧跟<body></body>标志对,然后才可以使用我们熟悉的任何标志。也就是说一般是这个架构:

<html>
<head>
<title>综合示例</title>
</head>
<frameset cols="25%,*">
<frame src="menu.htm" scrolling="no" name="Left">
<frame src="page1.htm" scrolling="auto" name="Main">
<noframes>
<body>
<p>对不起,您的浏览器不支持“框架”!</p>
</body>
</noframes>
</frameset>
</html>

 

缺点:

 

由于frameset只能在当前可视化的界面显示,如果所布局的页面大于当前可视化的界面,就不适合用frameset了。

2、盒子模型

 

这里有几点需要注意,width和height只是指的内部的content,而不包括,margin、border和padding。

3、让元素居中技巧

让元素居中小技巧:{width:随便px;margin:0auto;},这样就可以让元素居中显示了,要注意的是宽度一定要设置,但是高度是可设置也可不设置的。

 

4、调整圆角方角的代码

-webkit-border-radius:10px;
 -moz-border-radius:10px;
 -ms-border-radius:10px;
 border-radius:10px;

 

 

 

    可以同时设置1到4个值。如果设置1个值,表示4个圆角都使用这个值。如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值。如果设置三个值,表示左上角使用第一个值,右上角和左下角使用第二个值,右下角使用第三个值。如果设置四个值,则依次对应左上角、右上角、右下角、左下角(顺时针顺序)。

5、透明度调节

filter:alpha(opacity=90); /* ie 有效*/
 -moz-opacity:0.9; /* Firefox 有效*/
 opacity: 0.9; /* 通用,其他浏览器有效*

 

6、用绝对定位进行“脱离文档流的定位”

 

用绝对定位可以让“子元素”从“父元素”的文档流中脱离出来,进行布局。

效果如下:

 

代码如下:

<div style="width:300px;height:300px;background-color:#C70101;position:relative;">父元素</div>
<div style="width:200px;height:200px;background-color:#8FEE00;position:absolute;top:200px;left:200px;">子元素</div>

7、a元素及其伪类

a:link {color: #FF0000} /* 未访问的链接 */
a:visited {color: #00FF00} /* 已访问的链接 */
a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
a:active {color: #0000FF} /* 选定的链接 */

 

8、图片与文字同排垂直居中

 

第一种,没有图片的情况下。

效果图:

 

代码:

</head>
<style>
	#out{
		height:33px;
		background-color:#999;
		line-height:33px;
	}
</style>
<body>
	<div id="out">
<a>图片和文字</a>
</div>
</body>

说明:

我们只是需要在外层元素“out”上设定其height和line-height即可,并且高度一致。文字上有没有行内元素无所谓。

第二种,有图片的情况下。

效果图:

 

代码:

</head>
<style>
	#out{
		height:33px;
		background-color:#999;
	}
	#out img{
		vertical-align:middle;
	}
</style>
<body>
	<div id="out">
	<img src="1.gif" />
<a>图片和文字</a>
</div>
</body>

说明:

文字与图片同排,在设置div高度同时再对此css样式的图片“img”样式设置vertical-align:middle垂直居中属性即可,不需要设置line-height属性。同时,文字上有没有行内元素无所谓。

9、条件注释判断浏览器

<!--[if !IE]><!-->IE外都可识别<!--<![endif]-->
<!--[if IE]>
所有的IE可识别<![endif]-->
<!--[if IE 6]>
IE6可识别<![endif]-->
<!--[if lt IE 6]> IE6
以及IE6以下版本可识别<![endif]-->
<!--[if gte IE 6]> IE6
以及IE6以上版本可识别<![endif]-->
<!--[if IE 7]>
IE7可识别<![endif]-->
<!--[if lt IE 7]> IE7
以及IE7以下版本可识别<![endif]-->
<!--[if gte IE 7]> IE7
以及IE7以上版本可识别<![endif]-->
<!--[if IE 8]>
IE8可识别<![endif]-->
<!--[if IE 9]>
IE9可识别<![endif]-->

项目

范例

说明

!

[if !IE]

The NOT operator. This is placed immediately in front of the feature, operator, or subexpression to reverse the Boolean meaning of the expression.
NOT
运算符。这是摆立即在前面的功能操作员,或子表达式扭转布尔表达式的意义。

lt

[if lt IE 5.5]

The less-than operator. Returns true if the first argument is less than the second argument.
小于运算符。如果第一个参数小于第二个参数,则返回true

lte

[if lte IE 6]

The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument.
小于或等于运算。如果第一个参数是小于或等于第二个参数,则返回true

gt

[if gt IE 5]

The greater-than operator. Returns true if the first argument is greater than the second argument.
大于运算符。如果第一个参数大于第二个参数,则返回true

gte

[if gte IE 7]

The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument.
大于或等于运算。如果第一个参数是大于或等于第二个参数,则返回true

( )

[if !(IE 7)]

Subexpression operators. Used in conjunction with boolean operators to create more complex expressions.
子表达式运营商。在与布尔运算符用于创建更复杂的表达式。

&

[if (gt IE 5)&(lt IE 7)]

The AND operator. Returns true if all subexpressions evaluate to true
AND
运算符。如果所有的子表达式计算结果为true,返回true

|

[if (IE 6)|(IE 7)]

The OR operator. Returns true if any of the subexpressions evaluates to true.
OR
运算符。返回true,如果子表达式计算结果为true

<!--[if lt IE 9]>
加载CSS1
<!--[else]>

加载CSS2
<![endif]-->


这样有效是有效,但是用HTML VALIDATOR,报错,因为这个不符合XHTML 1.1的规范,
如果把ELSE语句去掉,则正确.

方法1

加载CSS2
<!--[if lt IE 9]>

加载CSS1(可以把要重写的写在这里).
<![endif]-->

10、dl、dd、dt用法

dl代表的是列表,和ul差不多,但dl没有默认样式(如项目符号等)。
dt,dd代表的是列表项,和li差不多。这两个列表项的性质是相同的,主要是为了解决一个列表中,放两种不同样式的列表项的问题。

 

<dl>标记定义了一个定义列表,定义列表中的条目是通过使用<dt>标记(“definition title”,定义标题)和<dd>标记(“definition description”,定义描述)创建的。<dt>给出了术语名,<dd>标记给出了术语的定义。
也就是说<dt>用来创建列表中的上层项目,<dd>用来创建列表中最下层项目,<dt>和<dd>都必须放在<dl>< /dl>标志对之间。

代码:

 

<dl>

<dt>我们在做列表标题</dt>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

</dl>

 

11、CSS z-index 属性

注意:z-index属性是配合绝对定位用的,没有了绝对定位,这个属性没有没存在的意义了。

作用:

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

【实例】

Html代码:

<html>
<head>
<style type="text/css">
img.x
{
position:absolute;
left:0px;
top:0px;
z-index:-1
}
</style>
</head>

<body>
<h1>这是一个标题</h1>
<img class="x" src="/i/eg_mouse.jpg" /> 
<p>默认的 z-index 是 0。Z-index -1 拥有更低的优先级。</p>
</body>

</html>

 

图片:

 

 

 

 

12、CSS 渐变背景

 

 

 

/* 渐变背景 */
	FILTER: progid : DXImageTransform.Microsoft.Gradient ( gradientType = 0,
		startColorStr = #fff, endColorStr = #EBF6FC ); /*IE 6 7 8*/
	background: -ms-linear-gradient(top, #fff, #EBF6FC); /* IE 10 */
	background: -moz-linear-gradient(top, #fff, #EBF6FC); /*火狐*/
	background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff),
		to(#EBF6FC) ); /*谷歌*/
	background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff),
		to(#EBF6FC) ); /* Safari 4-5, Chrome 1-9*/
	background: -webkit-linear-gradient(top, #fff, #EBF6FC);
	/*Safari5.1 Chrome 10+*/
	background: -o-linear-gradient(top, #fff, #EBF6FC); /*Opera 11.10+*/


 

13、html form 中Enctype=multipart/form-data 的作用

 

 ENCTYPE=”multipart/form-data”用于表单里有图片上传。

<form name=”userInfo” method=”post” action=”first_submit.php”    ENCTYPE=”multipart/form-data”>

表单标签中设置enctype=”multipart/form-data”来确保匿名上载文件的正确编码。

如下:

<tr>
  <td height=”30″ align=”right”>上传企业营业执照图片:</td>
  <td><INPUT TYPE=”FILE” NAME=”uploadfile” SIZE=”34″    onChange=”checkimage()”></td>
</tr>

 

就得加ENCTYPE=”multipart/form-data”。

表单中enctype=”multipart/form-data”的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.

enctype=”multipart/form-data”是上传二进制数据; form里面的input的值以2进制的方式传过去。

form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:

SmartUpload su = new SmartUpload();//新建一个SmartUpload对象

su.getRequest().getParameterValues();取数组值

su.getRequest().getParameter( );取单个参数单个值

 

 

14、js前端触发QQ客服事件

其实就一行代码:

<a href="http://wpa.qq.com/msgrd?v=3&uin=123456789&site=qq&menu=yes" target="_blank"></a>


这个例子在我的资料中有,另外,可以在“懒人图库”中下载到类似相关的例子。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值