可以清晰看见,用我的方法,生成的DIV再宽度上比字多出一部分,高度上少一部分,
代码重发<script>
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length; for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i); if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*messageContentLines;
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "style='"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:#FFFFC4;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.body .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>
<input name="button" type="button" onClick="setConfig();" value="test">
代码重发<script>
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length; for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i); if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*messageContentLines;
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "style='"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:#FFFFC4;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.body .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>
<input name="button" type="button" onClick="setConfig();" value="test">
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;
//alert(nOriginLen);
for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);
//alert(escape(sTmpChar));
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
/*增加的代码*/
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2+1;
/*增加的代码*/
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*messageContentLines;
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "style='"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:#FFFFC4;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.body .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>
<input name="button" type="button" onClick="setConfig();" value="test">
<br><span style="font-size:12px">我</span>
<div style="width:12px;border:1px solid #000000"></div>
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;
//alert(nOriginLen);
for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);
//alert(escape(sTmpChar));
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
/*增加的代码*/
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2+1;
/*增加的代码*/
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*messageContentLines;
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "style='"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:#FFFFC4;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.body .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>
<input name="button" type="button" onClick="setConfig();" value="test">
不过即使现在字符串长度算对了,可是计算总的长度还有问题
我们的思路都是:计算长度的时候:字符串长度*12px(font-size),可是我发现这样还是有问题,总是超过长度。
计算宽度的时候:行数**12px(font-size),同样存在问题。求教继续~~~~~
先说说行数少的问题,
你用var splitStringArray = txtMessageContent.value .split("\n");var messageContentLines = splitStringArray.length;来判断行数,思想不错,可是计算错误了,有n个\n,应该有n+1行.
然后就是你的宽度多了,应该是回车的问题,回车应该是\r\n;你只是去掉了\r,还有个\n的长度呢
就比如说:
for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);
//alert(escape(sTmpChar));
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
/*增加的代码*/
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2+1;
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
这一步是判断是不是中文或者是西欧字符的,如果是中文,nStrLength+2应该算是对的吧,中文应该是占2个长度的.但是如果是一些西欧字符,他和英文字母一样也是占一个位置吧,具体的我没做过,你要多去尝试
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2;
/*增加的代码*/
//把else后面的
nStrLength=nStrLength/2+1
换成nStrLength=nStrLength/2 ; 不要那个+1 我开始把它认作整型去了 这样似乎没问题啊 宽度和高度都正好
高度似乎少了点,我估计可能是 行数n
n*12px+(n-1)*行距
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var oDragObj;var bIsDraw = false;function moveMouse(e) {
if (isdrag) {
oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";
oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";
var hidMessageLeft = document.getElementById ("hidMessageLeft");
var hidMessageTop = document.getElementById ("hidMessageTop");
var hidRecommendedItemLeft = document.getElementById ("hidRecommendedItemLeft");
var hidRecommendedItemTop = document.getElementById ("hidRecommendedItemTop"); //闄愬埗鑼冨洿
var currentX=parseInt(oDragObj.style.left);
var currentY=parseInt(oDragObj.style.top);
var maxX=parseInt(oDragObj.parentNode.style.width)-parseInt(oDragObj.style.width);
var maxY=parseInt(oDragObj.parentNode.style.height)-parseInt(oDragObj.style.height);
if(currentX < 0){
oDragObj.style.left=0+"px";
}
if(currentY < 0){
oDragObj.style.top=0+"px";
}
if(currentX > maxX){
oDragObj.style.left=maxX+"px";
}
if(currentY > maxY){
oDragObj.style.top=maxY+"px";
}
return false;
}
}
function initDrag(e) {
//alert("initdrag");
var oDragHandle = nn6 ? e.target : event.srcElement;
var topElement = "HTML";
while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
}
if (oDragHandle.className=="dragAble") {
isdrag = true;
oDragObj = oDragHandle;
nTY = parseInt(oDragObj.style.top+0);
y = nn6 ? e.clientY : event.clientY;
nTX = parseInt(oDragObj.style.left+0);
x = nn6 ? e.clientX : event.clientX;
document.onmousemove=moveMouse;
return false;
}
}
document.onmousedown=initDrag;
document.onmouseup=new Function("isdrag=false");
//结束DRAG部分
//计算字符串长度
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;
//alert(nOriginLen);
for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);
//alert(escape(sTmpChar));
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
/*增加的代码*/
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2;
/*增加的代码*/
//alert(nStrLength);
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\r\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*(messageContentLines);
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "class=dragAble "
+ "style='"
+ "line-height:24px;"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:red;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.getElementById("father") .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>输入的时候回车就是换行:目前DIV高度还有点问题
<input name="button" type="button" onClick="setConfig();" value="test">
<div id="father" style="position:relative;left:0px;top:0px;width: 800px; height: 300px; background-color: lightyellow; border: 1px solid black; padding: 0px; z-index: 100">
<script>//这里部分能让生成DIV可拖动,不用看
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var oDragObj;var bIsDraw = false;function moveMouse(e) {
if (isdrag) {
oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";
oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";
var hidMessageLeft = document.getElementById ("hidMessageLeft");
var hidMessageTop = document.getElementById ("hidMessageTop");
var hidRecommendedItemLeft = document.getElementById ("hidRecommendedItemLeft");
var hidRecommendedItemTop = document.getElementById ("hidRecommendedItemTop"); //闄愬埗鑼冨洿
var currentX=parseInt(oDragObj.style.left);
var currentY=parseInt(oDragObj.style.top);
var maxX=parseInt(oDragObj.parentNode.style.width)-parseInt(oDragObj.style.width);
var maxY=parseInt(oDragObj.parentNode.style.height)-parseInt(oDragObj.style.height);
if(currentX < 0){
oDragObj.style.left=0+"px";
}
if(currentY < 0){
oDragObj.style.top=0+"px";
}
if(currentX > maxX){
oDragObj.style.left=maxX+"px";
}
if(currentY > maxY){
oDragObj.style.top=maxY+"px";
}
return false;
}
}
function initDrag(e) {
//alert("initdrag");
var oDragHandle = nn6 ? e.target : event.srcElement;
var topElement = "HTML";
while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
}
if (oDragHandle.className=="dragAble") {
isdrag = true;
oDragObj = oDragHandle;
nTY = parseInt(oDragObj.style.top+0);
y = nn6 ? e.clientY : event.clientY;
nTX = parseInt(oDragObj.style.left+0);
x = nn6 ? e.clientX : event.clientX;
document.onmousemove=moveMouse;
return false;
}
}
document.onmousedown=initDrag;
document.onmouseup=new Function("isdrag=false");
//结束DRAG部分
//计算字符串长度
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;
//alert(nOriginLen);
for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i);
//alert(escape(sTmpChar));
if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
/*增加的代码*/
if(nStrLength%2==0)
nStrLength/=2;
else
nStrLength=nStrLength/2;
/*增加的代码*/
//alert(nStrLength);
return nStrLength;
}function setConfig()
{var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//处理txtbox中数据:回车转换行,计算输入了多少行,字数最多一行的算做DIV的宽度
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\r\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最长的一行
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
//计算DIV的长度,宽度,这里算错了,求教???????????????
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*(messageContentLines);
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "class=dragAble "
+ "style='"
+ "line-height:24px;"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:red;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.getElementById("father") .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" selected="select" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>输入的时候回车就是换行:目前DIV高度还有点问题
<input name="button" type="button" onClick="setConfig();" value="test">
<div id="father" style="position:relative;left:0px;top:0px;width: 800px; height: 300px; background-color: lightyellow; border: 1px solid black; padding: 0px; z-index: 100">
你可以试试看
<div style="width:36px"><div style="width:18px;height:18px;border:1px solid black;float:left;"></div><span style="font-size:18px;float:right;">我</span></div>
加上这段代码
我设置DIV的宽和高都是18PX 字体也是18PX 而DIV出来的效果是比字体多出那部分
或者你用光标把那个“我”字选住 你看得见下面会多一点空空的 那个是行间隙
可以给4个参数,只给一个表示四边,给2个,表示:上下,左右,自己考虑