可以清晰看见,用我的方法,生成的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">

解决方案 »

  1.   

    <script>
        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>
      

  2.   

    重新贴一次<script>
        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">
      

  3.   

    daocha 谢谢你,你帮我解决了计算字符串长度的问题,当时没有注意。
    不过即使现在字符串长度算对了,可是计算总的长度还有问题
    我们的思路都是:计算长度的时候:字符串长度*12px(font-size),可是我发现这样还是有问题,总是超过长度。
                      计算宽度的时候:行数**12px(font-size),同样存在问题。求教继续~~~~~
     
      

  4.   

    大体看了下,
    先说说行数少的问题,
    你用var splitStringArray        = txtMessageContent.value .split("\n");var messageContentLines     = splitStringArray.length;来判断行数,思想不错,可是计算错误了,有n个\n,应该有n+1行.
    然后就是你的宽度多了,应该是回车的问题,回车应该是\r\n;你只是去掉了\r,还有个\n的长度呢
      

  5.   

    不过我觉得你的总长度是很难完全正好的.
    就比如说:
      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个长度的.但是如果是一些西欧字符,他和英文字母一样也是占一个位置吧,具体的我没做过,你要多去尝试
      

  6.   

    还有我建议,你在div设定长宽的时候,加上px单位,我不知道,他默认的是不是这个单位.
      

  7.   

    px倒是不用加了  /*增加的代码*/
            if(nStrLength%2==0)
        nStrLength/=2;
         else
        nStrLength=nStrLength/2;
    /*增加的代码*/
    //把else后面的
    nStrLength=nStrLength/2+1
    换成nStrLength=nStrLength/2 ;  不要那个+1  我开始把它认作整型去了   这样似乎没问题啊  宽度和高度都正好
      

  8.   

    谢谢大家,daocha 指出了字符串计算的错误,javabeginner2006 指出了回车应该是\r\n,改正了这两点,长度就没有问题了
    高度似乎少了点,我估计可能是 行数n
    n*12px+(n-1)*行距
      

  9.   

    splitStringArray.length 用这个判断行数是对的  用\r\n来分隔  连头连尾 本身就是n+1行
      

  10.   

    splitStringArray[]里有2个数组,splitStringArray.length得到的不正好是2,怎么还要加1
      

  11.   

    哦,谢谢了,我修正了一下程序,目前就只有高度有问题了<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"> 
      

  12.   

    谢谢大家,目前宽度没有问题了,不过高度还存在一点点问题
    <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"> 
      

  13.   

    没问题的
    你可以试试看  
    <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出来的效果是比字体多出那部分  
    或者你用光标把那个“我”字选住  你看得见下面会多一点空空的  那个是行间隙
      

  14.   

    可以用CSS padding:18px 50px;
    可以给4个参数,只给一个表示四边,给2个,表示:上下,左右,自己考虑
      

  15.   

    [color=#FF00FF]来凑个热闹color]