【CSS】对于超出div部分的处理

一个正常的前端攻城狮,一般情况不会把内容布置到div外面,但是如果这部分的内容,是用户输入的,然后是从数据库中取出来的,那样有内容超出div部分也是很正常的,尤其是这部分内容,是用户通过编辑器编辑的,便有可能出现这样的情况:

比如,限制一个宽350px,高100px的表格,用户用编辑器设置了一个400px x 400px的表格,就会溢出。

		<div style="border:2px solid #000000; width:350px; height:100px;">
            <table border="0" cellpadding="0" cellspacing="0" width="400" height="400">
                <tr>
                    <td style="background-color:#ff0000; width:200px; height:200px;"></td>
					<td style="background-color:#0000ff; width:200px; height:200px;"></td>
                </tr>
				<tr>
                    <td style="background-color:#0000ff; width:200px; height:200px;"></td>
					<td style="background-color:#ff0000; width:200px; height:200px;"></td>
                </tr>
            </table>
        </div>

这一部分是单纯的英文还好,直接利用《【CSS】div图层边界对英文换行控制的问题》(点击打开链接)解决就可以了。

问题这是不可以压缩的表格!千万不要以为网页的表格还可以像Excel那样自动调整列宽之类的……

此时你可以利用到overflow这个属性。

对于上面这种情况,可以考虑在style中补上overflow: auto;,给这东西补上滚动条的方式来解决,我只找到这种方式了,如果有更好的解决方案欢迎交流,具体代码如下:

        <div style="overflow: auto; border:1px solid red; width:350px; height:100px;">
            <table border="0" cellpadding="0" cellspacing="0" width="400" height="400">
                <tr>
                    <td style="background-color:#ff0000; width:200px; height:200px;"></td>
					<td style="background-color:#0000ff; width:200px; height:200px;"></td>
                </tr>
				<tr>
                    <td style="background-color:#0000ff; width:200px; height:200px;"></td>
					<td style="background-color:#ff0000; width:200px; height:200px;"></td>
                </tr>
            </table>
        </div>

效果如下图:

对于单行文字的话,如果要像上面一样给其补...,一般常见于标题,可以使用如下的方式解决,利用的overflow:hidden属性。再补上text-overflow:ellipsis;white-space:nowrap;两个属性即可,但注意这东西只对于单行文本有用,如果是多行文本,做好还以使用后端语言,在输出前加个条件结构,根据长度是否加点点点再输出。毕竟前端帮到你这里了。

<div style="overflow:hidden;width:100px;text-overflow:ellipsis;white-space:nowrap; "></div>

最后贴上上面那个Gif的全部源码。JavaScript的代码非常简单,1行完事。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>OverFlow</title>
    </head>
    <body>
        <div style="overflow: auto; border:1px solid red; width:350px; height:100px;">
            <table border="0" cellpadding="0" cellspacing="0" width="400" height="400">
                <tr>
                    <td style="background-color:#ff0000; width:200px; height:200px;"></td>
					<td style="background-color:#0000ff; width:200px; height:200px;"></td>
                </tr>
				<tr>
                    <td style="background-color:#0000ff; width:200px; height:200px;"></td>
					<td style="background-color:#ff0000; width:200px; height:200px;"></td>
                </tr>
            </table>
        </div>
		<div id="textOver" style="overflow:hidden;width:100px;text-overflow:ellipsis;white-space:nowrap; "></div>
		<input id="textInput" type="text" /><button onclick="input()">确定</button>
    </body>
</html>
<script>
	function input(){
		document.getElementById("textOver").innerHTML=document.getElementById("textInput").value;
	}
</script>
时间: 2024-10-20 15:13:50

【CSS】对于超出div部分的处理的相关文章

CSS文字超出div或者span时显示省略号

我们常常需要在文本过长时显示,将超出显示成省略号: 思想为: 首先设置宽度,然后让超出的部分隐藏如果有超出则在最后显示省略号让文本不换行 具体css代码为: .title{ width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all; } Html代码就不用写了,一个div 或者span class = "title"即可.

CSS如何控制div固定于网页底部

CSS如何控制div固定于网页底部: 网页设计中可能需要这样的效果,那就是将一个条幅放在网页的最底部,并且在网页滚动的时候能够穿过此条幅. 代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <tit

css如何将div实现全屏水平垂直居中

css如何将div实现全屏水平垂直居中:本章节介绍一下如何将一个div元素在整个网页内实现水平垂直居中效果,代码是最有说服力的,直接看代码.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title

CSS如何设置div半透明效果

CSS如何设置div半透明效果:设置元素的透明度在很多应用中都有使用,下面就介绍一下如何设置一个元素为半透明,其他的透明效果自己衍伸就可以了.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <t

CSS布局:div高度随窗口变化而变化(BUG会有滚动条)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>CSS布局:div高度随窗口变化而变化</

用css控制一个DIV画图标。

在实际开发中,我们会用到一些小图形,图标.大多数情况下都是用图片来实现的,同时对图片进行处理使图片大小尽可能的缩小.但是图片在怎么处理也是按KB来算的.但是要是用CSS画,只要用很少的空间就能完成同样的效果了,而且还方便后期的维护.我们今天画四个图形,一个三角形,一个直角三角形,两种方法画多边框正方形,同心圆,分享图标. 三角形 首先,我们先画一个三角形 代码如下: 1 <div id="duo1"></div> 对 就是用一个DIV来画. 我们可以把这幅图补脑

CSS如何设置div背景透明度且兼容性良好

CSS如何设置div背景透明度且兼容性良好: 建议:尽可能的手写代码,可以有效的提高学习效率和深度. 设置对象的透明度在很多网页特效中都有实用,设置对象的透明度并不难,唯一的难点可能就是如何兼容各大主流浏览器,下面就简单介绍一下如何实现此效果.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" cont

css文字超出自动显示省略号

只针对单行文本有效: 01.针对块状元素 ul li{ width: 180px; text-overflow: ellipsis; white-space: nowrap;/*禁止自动换行*/ overflow: hidden; } css文字超出自动显示省略号显示省略号 css文字超出自动显示省略号 css文字超出自动显示省略号显示省略号 02.针对table table{ table-layout:fixed; } table td{ word-break:keep-all;/* 不换行

CSS如何让DIV的宽度随内容的变化

[css]CSS如何让DIV的宽度随内容的变化 让div根据内容改变大小 div{ width:auto; display:inline-block !important; display:inline; }