/* 禁止换行 */
.nowrap{word-break:keep-all;white-space:nowrap;}
/* 强制换行 */
.break{word-break:break-all;}
css强制不换行
div{white-space:nowrap;}
css自动换行
div{ word-wrap: break-word; word-break: normal; }
css强制英文单词断行
div{word-break:break-all;}
大家都知道连续的英文或数字会把DIV或表格边框撑破,不能根据容器的大小自动换行,下面是 CSS如何将他们换行的方法!
对于div
1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准。
#wrap{white-space:normal; width:200px; }
或者
#wrap{word-break:break-all;width:200px;}
eg.
ddd1111111111111111111111111111111111111111111111111111111111111111111
效果:可以实现换行
2.(Firefox浏览器)white-space:normal; word-break:break-all;overflow:hidden;同样的FF下也没有很好的实现方法,只能隐藏或者加滚动条,当然不加滚动条效果更好!
#wrap{white-space:normal; width:200px; overflow:auto;}
或者
#wrap{word-break:break-all;width:200px; overflow:auto; }
eg.
ddd11111111111111111111111111111111111111111111111111111111111111111 ......
一、使用STYLE属性
将STYLE属性直接加在个别的元件标签里,<元件(标签) STYLE="性质(属性)1: 设定值1; 性质(属性)2: 设定值2;
...}
<td style="color:#c00; font-size:15px; line-height:18px;>
八十年代
</td>
这种方法优点:可灵巧应用样式於各标签中。方便于编写代码时的使用。
这种方法缺点:没有整篇文件的“统一性”,在需要修改某样式的时候也变的比较困难。
二、使用STYLE标签
将样式规则写在<STYLE>...</STYLE>标签之中。
<STYLE TYPE="text/CSS">
<!--
样式规则表
-->
</STYLE>
例如:
<STYLE TYPE="text/css">
<!--
body {
color: #666;
background: #f0f0f0;
font-size: 12px;
}
td,p {
color:#c00;
font-size: 12px;
}
-->
</STYLE>
通常是将整个的 <STYLE>...</STYLE>结构写在网页的<HEAD>
</HEAD>部份之中。
......
/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td{margin:0;padding:0;font-family:'宋体';}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,a,span {overflow:hidden;}
table{border-collapse:collapse;border-spacing:0; font-size:12px;}
td { line-height:18px; height:30px; vertical-align:top;}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}
ol,ul,dl {list-style:none}
h1,h2,h3,h4,h5,h6{font-size:100%}
/*通用*/ ......
在使用“float”时,因为“float”是javascript的一个保留字,所以就不能使用style.float,而改成了style.cssFloat(IE使用的是style.styleFloat);
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
this.listDiv01.style.styleFloat = "left";
this.listDiv02.style.styleFloat = "left";
//如果浏览器为IE
}else{
this.listDiv01.style.cssFloat = "left";
this.listDiv02.style.cssFloat = "left";
//其他
}
......
<html>
<head>
<mce:style type = "text/css"><!--
table
{
border-collapse:collapse;
}
td
{
border:solid 1px black;
}
--></mce:style><style type = "text/css" mce_bogus="1">table
{
border-collapse:collapse;
}
td
{
border:solid 1px black;
}
</style>
</head>
<body>
<table>
<tr>
<td>111</td><td>222</td><td>333</td>
</tr>
<tr>
<td>444</td><td>555</td><td>666</td>
</tr>
<tr>
<td>777</td><td>888</td><td>999</td>
</tr>
</table>
</body>
</html>
......
<html>
<head>
<mce:style type = "text/css"><!--
table
{
border-collapse:collapse;
}
td
{
border:solid 1px black;
}
--></mce:style><style type = "text/css" mce_bogus="1">table
{
border-collapse:collapse;
}
td
{
border:solid 1px black;
}
</style>
</head>
<body>
<table>
<tr>
<td>111</td><td>222</td><td>333</td>
</tr>
<tr>
<td>444</td><td>555</td><td>666</td>
</tr>
<tr>
<td>777</td><td>888</td><td>999</td>
</tr>
</table>
</body>
</html>
......
IE的问题:
一.双边距问题
浮动元素的外边距会加倍,但与第一个浮动元素相邻的其他浮动元素外边距不会加倍。
解决方法:在此浮动元素增加样式 display:inline;
二.图片产生的间隙
父元素直接包含<img>,这个图片下方会和父元素边缘产生间隙。
解绝方法:1.在源代码中让</div>和<img>在同一行,因为那个间隙是由换行符产生的。
2.给<img>添加样式 display:block;
三.最小高度问题
块元素最小高度为10px,当高度定义小于10px时,仍为10px;
解决方法:为此块元素添加样式 overflow:hidden; 或 让此款块元素的字体大小等于此会元素的高度。
四.列表的li为浮动,则列表后面的元素不能换行的问题
列表的li为浮动,则列表后面的元素不能换行。
解决方法:为这个ul定义合适的高或给包含这个ul 的父div定义合适的高。
五.子元素的上下外边界问题(父元素没有定义高度时)
在父元素没有定义高度时,子元素的上下外边界和父元素上下外边界叠加,并且显示在父元素外面。
解决方法:给父元素定义内边距或边框。
fir ......