HTML automatic column width seems to ignore text wrapping












0















I'm struggling to understand why my the columns in a number of tables I've created are being set to the width they are.



The tables are fixed width (width:45% in CSS), have similar length cell content and with one exception the same headings. My understanding is that it is the heading which governs column width. What I don't understand is that it appears to ignore wrapping.



The first table contains:



<th>column1</th>
<th>longerword</th>
<th>column3</th>


and the second table:



<th>column1</th>
<th>short word</th>
<th>column3</th>


"short word" wraps and so is effectively shorter than "longerword" but the column is much wider which seems illogical and wastes space.



Is there any way to use the wrapped text width to set the column width?



Other than the width of the table and some padding for and I have no formatting which would affect size/position/spacing










share|improve this question





























    0















    I'm struggling to understand why my the columns in a number of tables I've created are being set to the width they are.



    The tables are fixed width (width:45% in CSS), have similar length cell content and with one exception the same headings. My understanding is that it is the heading which governs column width. What I don't understand is that it appears to ignore wrapping.



    The first table contains:



    <th>column1</th>
    <th>longerword</th>
    <th>column3</th>


    and the second table:



    <th>column1</th>
    <th>short word</th>
    <th>column3</th>


    "short word" wraps and so is effectively shorter than "longerword" but the column is much wider which seems illogical and wastes space.



    Is there any way to use the wrapped text width to set the column width?



    Other than the width of the table and some padding for and I have no formatting which would affect size/position/spacing










    share|improve this question



























      0












      0








      0








      I'm struggling to understand why my the columns in a number of tables I've created are being set to the width they are.



      The tables are fixed width (width:45% in CSS), have similar length cell content and with one exception the same headings. My understanding is that it is the heading which governs column width. What I don't understand is that it appears to ignore wrapping.



      The first table contains:



      <th>column1</th>
      <th>longerword</th>
      <th>column3</th>


      and the second table:



      <th>column1</th>
      <th>short word</th>
      <th>column3</th>


      "short word" wraps and so is effectively shorter than "longerword" but the column is much wider which seems illogical and wastes space.



      Is there any way to use the wrapped text width to set the column width?



      Other than the width of the table and some padding for and I have no formatting which would affect size/position/spacing










      share|improve this question
















      I'm struggling to understand why my the columns in a number of tables I've created are being set to the width they are.



      The tables are fixed width (width:45% in CSS), have similar length cell content and with one exception the same headings. My understanding is that it is the heading which governs column width. What I don't understand is that it appears to ignore wrapping.



      The first table contains:



      <th>column1</th>
      <th>longerword</th>
      <th>column3</th>


      and the second table:



      <th>column1</th>
      <th>short word</th>
      <th>column3</th>


      "short word" wraps and so is effectively shorter than "longerword" but the column is much wider which seems illogical and wastes space.



      Is there any way to use the wrapped text width to set the column width?



      Other than the width of the table and some padding for and I have no formatting which would affect size/position/spacing







      html css html-table






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 20 '18 at 19:31









      Brian Tompsett - 汤莱恩

      4,2031338101




      4,2031338101










      asked Jun 28 '13 at 7:53









      yvf5rcuya4yvf5rcuya4

      183




      183
























          1 Answer
          1






          active

          oldest

          votes


















          0














          If the column width is less then the word length, then by default the words will wrap. Your easiest solution would be to use css and force a no wrap:



          <th style="white-space: nowrap;">short word</th>


          or



          <style> th {white-space: nowrap;} </style>





          share|improve this answer
























          • Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

            – yvf5rcuya4
            Jun 28 '13 at 8:28













          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f17359870%2fhtml-automatic-column-width-seems-to-ignore-text-wrapping%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          If the column width is less then the word length, then by default the words will wrap. Your easiest solution would be to use css and force a no wrap:



          <th style="white-space: nowrap;">short word</th>


          or



          <style> th {white-space: nowrap;} </style>





          share|improve this answer
























          • Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

            – yvf5rcuya4
            Jun 28 '13 at 8:28


















          0














          If the column width is less then the word length, then by default the words will wrap. Your easiest solution would be to use css and force a no wrap:



          <th style="white-space: nowrap;">short word</th>


          or



          <style> th {white-space: nowrap;} </style>





          share|improve this answer
























          • Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

            – yvf5rcuya4
            Jun 28 '13 at 8:28
















          0












          0








          0







          If the column width is less then the word length, then by default the words will wrap. Your easiest solution would be to use css and force a no wrap:



          <th style="white-space: nowrap;">short word</th>


          or



          <style> th {white-space: nowrap;} </style>





          share|improve this answer













          If the column width is less then the word length, then by default the words will wrap. Your easiest solution would be to use css and force a no wrap:



          <th style="white-space: nowrap;">short word</th>


          or



          <style> th {white-space: nowrap;} </style>






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jun 28 '13 at 8:02









          moose-omoose-o

          363




          363













          • Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

            – yvf5rcuya4
            Jun 28 '13 at 8:28





















          • Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

            – yvf5rcuya4
            Jun 28 '13 at 8:28



















          Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

          – yvf5rcuya4
          Jun 28 '13 at 8:28







          Thanks but the wrapping isn't the problem. The word wrap is needed for the column width suitable for the contents of the table. What I would like to change is the column width setting so that it is calculated based on the wrapped text (rather than fixed). It looks as if it's set on unwrapped content.

          – yvf5rcuya4
          Jun 28 '13 at 8:28




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f17359870%2fhtml-automatic-column-width-seems-to-ignore-text-wrapping%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

          How to fix TextFormField cause rebuild widget in Flutter