Home  >  Article  >  Web Front-end  >  How to prevent inline-block div from wrapping?

How to prevent inline-block div from wrapping?

PHPz
PHPzforward
2023-09-03 20:29:06938browse

如何防止inline-block div换行?

In CSS, the ‘display’ attribute is used to set the display of child elements. When we set "inline-block" value for display property, it displays all child elements side by side. Additionally, it automatically creates a responsive design, as if it doesn't find enough space, it automatically wraps child elements.

Sometimes, we need to stop wrapping child elements to manage web space. In this case, we can manage the CSS "white-space" property to avoid wrapping child elements.

grammar

Users can follow the following syntax and use the "white-space" CSS property to prevent inline block divs from wrapping.

CSS_selector {
   white-space: nowrap;
}

In the above syntax, CSS_selector is the parent element of all child elements that we set "inline-block" to display.

Let us go through the following example to understand how to prevent inline block elements from wrapping.

Example 1

In the example below, we create a parent div element containing the "container" class name. After that, we added three child elements in the parent container, each containing the "inline-block-div" class name.

In CSS, we use the "white-space: no-wrap" CSS property for the parent container and "display: inline-block" for all child elements. Additionally, we use some other CSS properties to style the div element.

In the output, the user can try reducing the size of the browser window and observe that the inline block div element does not wrap or go to the next line.

<html>
<head>
   <style>
      .container {
         white-space: nowrap;
      }
      .inline-block-div {
         display: inline-block;
         width: 200px;
         height: 100px;
         border: 1px solid black;
         margin: 10px;
      }
   </style>
</head>
<body>
   <h2> Preventing the <i> inline-block divs </i> from wrapping </h2>
   <div class = "container">
      <div class = "inline-block-div"> Div 1 </div>
      <div class = "inline-block-div"> Div 2 </div>
      <div class = "inline-block-div"> Div 3 </div>
   </div>
</body>
</html>

Example 2

In the example below, we have added multiple tables containing different data. The first table contains school data and the second table contains AC data.

We set the display of both tables equal to the inline block to display them side by side on the web page. Additionally, we use the "white-space" attribute with the "container" div element.

In the output, we can observe the two tables side by side, and if we reduce the window size, the table will not go to the next line because we prevent the two table elements from wrapping.

<html>
<head>
   <style>
      .container {white-space: nowrap;}
      .table {white-space: nowrap; display: inline-block; vertical-align: top; margin: 10px; border: 1px solid black;}
      th, td {padding: 10px 40px; border: 1px solid black;}
   </style>
</head>
<body>
   <h2> Preventing the <i> inline-block divs </i> from wrapping </h2>
   <div class = "container">
      <table class = "container table">
         <tr><th> school Name </th> <th> Total Students </th> </tr>
         <tr><td> ABC School </td> <td> 100 </td></tr>
      </table>
      <table class = "container table">
         <tr><th> AC brand </th> <th> color </th><th> Price </th></tr>
         <tr><td> LG </td> <td> White </td> <td> 10000 </td> </tr>
      </table>
   </div>
</body>
</html>

Example 3

In the example below, we demonstrate how to prevent an inline block div element from conditionally wrapping. If we need to prevent an inline block div element from wrapping under any specific condition, we can use JavaScript.

In JavaScript, we access all div elements and iterate over all div elements using forEach() method. We use the "whitespace" property of the style object to prevent all inline block divs from wrapping using JavaScript.

<html>
<head>
   <style>
      .child {width: 300px; background-color: blue; height: 200px; display: inline-block; margin: 10px; color: white; font-size: 30px;}
   </style>
</head>
<body>
   <h2> Preventing the <i> inline-block divs </i> from wrapping </h2>
   <div class = "parent">
      <div class = "child"> First </div>
      <div class = "child"> Second </div>
      <div class = "child"> Third </div>
      <div class = "child"> Fourth </div>
   </div>
   <script>
      let divs = document.querySelectorAll('div');
      let divsArray = Array.from(divs);
      // add white-space: nowrap to all div
      divsArray.forEach(div => {
         div.style.whiteSpace = 'nowrap';
      });
   </script>
</body>
</html>

Users learned how to prevent inline block div elements from wrapping. We use the "white-space" CSS property to prevent the div element from wrapping. However, preventing inline block div elements from wrapping is not a good practice as it takes away the responsiveness of the web page, but in some specific cases we can prevent this if we don't want the div element to expand vertically.

The above is the detailed content of How to prevent inline-block div from wrapping?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete
Previous article:Use CSS pseudo-classesNext article:Use CSS pseudo-classes