textarea的css宽度没有按需扩展

时间:2017-02-09 00:00:15

标签: html css

试图找出为什么我的<textarea id='customer-title'>扩展不超过216px并产生3-4行???

我需要将元素大小设置为4-5行并延伸到<table id='meta'>。也希望#address的宽度相同。

我在JSFiddle - css problem

中有工作示例

CSS:

* { margin: 0; padding: 0; }
body { font: 14px/1.4 Georgia, serif; }
#page-wrap { width: 800px; margin: 0 auto; }

textarea { border: 0; font: 14px Georgia, Serif; overflow: hidden; resize: none; }
table { border-collapse: collapse; }
table td, table th { border: 1px solid black; padding: 5px; }

#header { height: 15px; width: 100%; margin: 20px 0; background: #222; text-align: center; color: white; font: bold 15px Helvetica, Sans-Serif; text-decoration: uppercase; letter-spacing: 20px; padding: 8px 0px; }

/*#address { width: 250px; height: 150px; float: left; }*/
#address { width: 250px; height: 150px; font: 20px "Comic Sans"; font-weight: bold; float: left; }
#customer { overflow: hidden; }

#logo { text-align: right; float: right; position: relative; margin-top: 25px; border: 1px solid #fff; max-width: 340px; max-height: 100px; overflow: hidden; }
#logo:hover, #logo.edit { border: 1px solid #000; margin-top: 0px; max-height: 125px; }
#logoctr { display: none; }
#logo:hover #logoctr, #logo.edit #logoctr { display: block; text-align: right; line-height: 25px; background: #eee; padding: 0 5px; }
#logohelp { text-align: left; display: none; font-style: italic; padding: 10px 5px;}
#logohelp input { margin-bottom: 5px; }
.edit #logohelp { display: block; }
.edit #save-logo, .edit #cancel-logo { display: inline; }
.edit #image, #save-logo, #cancel-logo, .edit #change-logo, .edit #delete-logo { display: none; }
#customer-title { font-size: 20px; font-weight: bold; float: left; }

#meta { margin-top: 1px; width: 300px; float: right; }
#meta td { text-align: right;  }
#meta td.meta-head { text-align: left; background: #eee; }
#meta td textarea { width: 100%; height: 20px; text-align: right; }

#items { clear: both; width: 100%; margin: 30px 0 0 0; border: 1px solid black; }
#items th { background: #eee; }
#items textarea { width: 80px; height: 50px; }
#items tr.item-row td { border: 0; vertical-align: top; }
#items td.description { width: 300px; }
#items td.item-name { width: 175px; }
#items td.description textarea, #items td.item-name textarea { width: 100%; }
#items td.total-line { border-right: 0; text-align: right; }
#items td.total-value { border-left: 0; padding: 10px; }
#items td.total-value textarea { height: 20px; background: none; }
#items td.balance { background: #eee; }
#items td.blank { border: 0; }

#terms { text-align: center; margin: 20px 0 0 0; }
#terms h5 { text-transform: uppercase; font: 13px Helvetica, Sans-Serif; letter-spacing: 10px; border-bottom: 1px solid black; padding: 0 0 8px 0; margin: 0 0 8px 0; }
#terms textarea { width: 100%; text-align: center;}

textarea:hover, textarea:focus, #items td.total-value textarea:hover, #items td.total-value textarea:focus, .delete:hover { background-color:#EEFF88; }

.delete-wpr { position: relative; }
.delete { display: block; color: #000; text-decoration: none; position: absolute; background: #EEEEEE; font-weight: bold; padding: 0px 3px; border: 1px solid; top: -6px; left: -22px; font-family: Verdana; font-size: 12px; }

HTML:

<body>

<form action="insert.php" id="testinsert" method="POST">
    <input type="submit" value="Submit" />
</form> 

<div id="page-wrap">

    <textarea id="header">INVOICE</textarea>

    <div id="identity">

        <textarea form ="testinsert" name="address" id="address">Business Name
Address 1
Address 2
Phone: (000) 555-1212</textarea>

        <div id="logo">

          <div id="logoctr">
            <a href="javascript:;" id="change-logo" title="Change logo">Change Logo</a>
            <a href="javascript:;" id="save-logo" title="Save changes">Save</a>
            |
            <a href="javascript:;" id="delete-logo" title="Delete logo">Delete Logo</a>
            <a href="javascript:;" id="cancel-logo" title="Cancel changes">Cancel</a>
          </div>

          <div id="logohelp">
            <input id="imageloc" type="text" size="50" value="" /><br />
            (max width: 540px, max height: 100px)
          </div>
          <img id="image" src="images/CM_LOGO.JPG" alt="logo" />
        </div>

    </div>

    <div style="clear:both"></div>

    <div id="customer">

        <textarea form ="testinsert" name="customer" id="customer-title">Customer Name Incorporated
c/o Person to Contact</textarea>

        <table id="meta">
            <tr>
                <td class="meta-head">Invoice #</td>
                <td><textarea form ="testinsert" name="invoice">20170212</textarea></td>
            </tr>
            <tr>

                <td form ="testinsert" name="date" class="meta-head">Date</td>
                <td><textarea id="date">February 12, 1965</textarea></td>
            </tr>
            <tr>
                <td class="meta-head">Amount Due</td>
                <td><div class="due">$735.00</div></td>
            </tr>

        </table>

    </div>

    <table id="items">

      <tr>
          <th>Item</th>
          <th>Description</th>
          <th>Unit Cost</th>
          <th>Quantity</th>
          <th>Price</th>
      </tr>

      <tr class="item-row">
          <td class="item-name"><div class="delete-wpr"><textarea>Hourly Rate</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>
          <td class="description"><textarea>Business Rate: Consulting/Labor/Installs</textarea></td>
          <td><textarea class="cost">$150.00</textarea></td>
          <td><textarea class="qty">3</textarea></td>
          <td><span class="price">$450.00</span></td>
      </tr>

      <tr class="item-row">
          <td class="item-name"><div class="delete-wpr"><textarea>Hourly Rate</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>

          <td class="description"><textarea>Residential Rate: Consulting/Labor/Installs</textarea></td>
          <td><textarea class="cost">$95.00</textarea></td>
          <td><textarea class="qty">3</textarea></td>
          <td><span class="price">$285.00</span></td>
      </tr>

      <tr id="hiderow">
        <td colspan="5"><a id="addrow" href="javascript:;" title="Add a row">Add a row</a></td>
      </tr>

      <tr>
          <td colspan="2" class="blank"> </td>
          <td colspan="2" class="total-line">Subtotal</td>
          <td class="total-value"><div id="subtotal">$735.00</div></td>
      </tr>
      <tr>

          <td colspan="2" class="blank"> </td>
          <td colspan="2" class="total-line">Total</td>
          <td class="total-value"><div id="total">$735.00</div></td>
      </tr>
      <tr>
          <td colspan="2" class="blank"> </td>
          <td colspan="2" class="total-line">Amount Paid</td>
          <td class="total-value"><textarea id="paid">$0.00</textarea></td>
      </tr>
      <tr>
          <td colspan="2" class="blank"> </td>
          <td colspan="2" class="total-line balance">Balance Due</td>
          <td class="total-value balance"><div class="due">$735.00</div></td>
      </tr>

    </table>

    <input type="hidden" form ="testinsert" name="xdate" id="xdate"></input>
    <input type="hidden" form ="testinsert" name="sales" id="sales"></input>
    <input type="hidden" form ="testinsert" name="owed" id="owed"></input> 
    <input type="hidden" form ="testinsert" name="deducted" id="deducted"></input> 

    <div id="terms">
      <h5>Terms</h5>
      <textarea>NET 30 Days. Finance Charge of 1.5% will be made on unpaid balances after 30 days.</textarea>
    </div>

</div>

2 个答案:

答案 0 :(得分:0)

如果在css中明确定义宽度,文本区域将扩展为其所在div的大小。

#customer-title {
    font-size: 20px;
    font-weight: bold;
    float: left;
    width: 100%;
}

如果您想要占用其父容器的整个空间,也可以更改地址的宽度:

#address {
    width: 100%;
    height: 150px;
    font: 20px "Comic Sans";
    font-weight: bold;
    float: left;
}

答案 1 :(得分:0)

必须调整父div:

#identity{
   left: 50%;
   top: 50%;
   margin-left:-210px;
   margin-top:-255px;
}