【问题标题】:Making HTML Table Responsive使 HTML 表格具有响应性
【发布时间】:2019-02-16 16:15:59
【问题描述】:

我正在尝试使此表响应重新调整浏览器的大小,特别是移动设备。我试图将表格标签的宽度设置为 100%,但这会影响我的图像和文本的间距。有没有其他方法可以让这个表格响应它不影响我的图像和文本间距的地方?非常感谢您提前回复。

<table align="center" border="0" cellpadding="3" cellspacing="1" style="width: 1000px;">
  <tbody>
    <tr>
      <td style="text-align: center; vertical-align: middle;">
        <img alt="Logo" src="Logo.png" style="width: 120px; height: 100px;" />
      </td>
      <td style="vertical-align: middle; text-align: center;">
        <b><i>
          Everyone is free to use the summary information. Please acknowledge 
          the Logo as the source of any information accessed from the site unless 
          otherwise noted.<br/>
        </i></b>
      </td>
      <td style="text-align: center; vertical-align: middle;">
        <img alt="Logo" src="Logo.png" style="width: 120px; height: 100px;" />
      </td>
    </tr>
  </tbody>
</table>

【问题讨论】:

  • 您可以通过将整个表格包装在
    中来尝试引导类“table-responsive”
  • 太好了,非常感谢。成功了!
  • 如果您不想要 bootstrap 提供的水平滚动功能,您还可以使用媒体查询为每个选定的断点手动调整表格列的宽度。至于图像,您可以使用引导程序的“img-responsive”类,只需将其放在 标记中即可。

标签: html html-table responsive


【解决方案1】:

您可以使用 Bootstrap 来制作响应式网页。

有不同的类可以处理响应性。

如果您不想使用引导程序,那么您可以简单地将width 属性设置为auto 而不是固定的1000px

【讨论】:

    【解决方案2】:

    可能可以使用 inline-css 创建,因此您可以使用 @media 查询,这将帮助您使其成为响应式表。工作示例如下

    /*
    	Max width before this PARTICULAR table gets nasty. This query will take effect for any screen smaller than 760px and also iPads specifically.
    	*/
    	@media
    	  only screen 
        and (max-width: 760px), (min-device-width: 768px) 
        and (max-device-width: 1024px)  {
    
    		/* Force table to not be like tables anymore */
    		table, thead, tbody, th, td, tr {
    			display: block;
    		}
    
    		/* Hide table headers (but not display: none;, for accessibility) */
    		thead tr {
    			position: absolute;
    			top: -9999px;
    			left: -9999px;
    		}
    
        tr {
          margin: 0 0 1rem 0;
        }
          
        tr:nth-child(odd) {
          background: #ccc;
        }
        
    		td {
    			/* Behave  like a "row" */
    			border: none;
    			border-bottom: 1px solid #eee;
    			position: relative;
    			padding-left: 50%;
    		}
    
    		td:before {
    			/* Now like a table header */
    			position: absolute;
    			/* Top/left values mimic padding */
    			top: 0;
    			left: 6px;
    			width: 45%;
    			padding-right: 10px;
    			white-space: nowrap;
    		}
    
    		/*
    		Label the data
        You could also use a data-* attribute and content for this. That way "bloats" the HTML, this way means you need to keep HTML and CSS in sync. Lea Verou has a clever way to handle with text-shadow.
    		*/
    		td:nth-of-type(1):before { content: "First Name"; }
    		td:nth-of-type(2):before { content: "Last Name"; }
    		td:nth-of-type(3):before { content: "Job Title"; }
    		td:nth-of-type(4):before { content: "Favorite Color"; }
    		td:nth-of-type(5):before { content: "Wars of Trek?"; }
    		td:nth-of-type(6):before { content: "Secret Alias"; }
    		td:nth-of-type(7):before { content: "Date of Birth"; }
    		td:nth-of-type(8):before { content: "Dream Vacation City"; }
    		td:nth-of-type(9):before { content: "GPA"; }
    		td:nth-of-type(10):before { content: "Arbitrary Data"; }
    	}
    <table role="table">
      <thead role="rowgroup">
        <tr role="row">
          <th role="columnheader">First Name</th>
          <th role="columnheader">Last Name</th>
          <th role="columnheader">Job Title</th>
          <th role="columnheader">Favorite Color</th>
          <th role="columnheader">Wars or Trek?</th>
          <th role="columnheader">Secret Alias</th>
          <th role="columnheader">Date of Birth</th>
          <th role="columnheader">Dream Vacation City</th>
          <th role="columnheader">GPA</th>
          <th role="columnheader">Arbitrary Data</th>
        </tr>
      </thead>
      <tbody role="rowgroup">
        <tr role="row">
          <td role="cell">James</td>
          <td role="cell">Matman</td>
          <td role="cell">Chief Sandwich Eater</td>
          <td role="cell">Lettuce Green</td>
          <td role="cell">Trek</td>
          <td role="cell">Digby Green</td>
          <td role="cell">January 13, 1979</td>
          <td role="cell">Gotham City</td>
          <td role="cell">3.1</td>
          <td role="cell">RBX-12</td>
        </tr>
        <tr role="row">
          <td role="cell">The</td>
          <td role="cell">Tick</td>
          <td role="cell">Crimefighter Sorta</td>
          <td role="cell">Blue</td>
          <td role="cell">Wars</td>
          <td role="cell">John Smith</td>
          <td role="cell">July 19, 1968</td>
          <td role="cell">Athens</td>
          <td role="cell">N/A</td>
          <td role="cell">Edlund, Ben (July 1996).</td>
        </tr>
        <tr role="row">
          <td role="cell">Jokey</td>
          <td role="cell">Smurf</td>
          <td role="cell">Giving Exploding Presents</td>
          <td role="cell">Smurflow</td>
          <td role="cell">Smurf</td>
          <td role="cell">Smurflane Smurfmutt</td>
          <td role="cell">Smurfuary Smurfteenth, 1945</td>
          <td role="cell">New Smurf City</td>
          <td role="cell">4.Smurf</td>
          <td role="cell">One</td>
        </tr>
        <tr role="row">
          <td role="cell">Cindy</td>
          <td role="cell">Beyler</td>
          <td role="cell">Sales Representative</td>
          <td role="cell">Red</td>
          <td role="cell">Wars</td>
          <td role="cell">Lori Quivey</td>
          <td role="cell">July 5, 1956</td>
          <td role="cell">Paris</td>
          <td role="cell">3.4</td>
          <td role="cell">3451</td>
        </tr>
        <tr role="row">
          <td role="cell">Captain</td>
          <td role="cell">Cool</td>
          <td role="cell">Tree Crusher</td>
          <td role="cell">Blue</td>
          <td role="cell">Wars</td>
          <td role="cell">Steve 42nd</td>
          <td role="cell">December 13, 1982</td>
          <td role="cell">Las Vegas</td>
          <td role="cell">1.9</td>
          <td role="cell">Under the couch</td>
        </tr>
      </tbody>
    </table>

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 2014-11-25
      相关资源
      最近更新 更多