如何修改我的四个象限以在它们之间留出一些“喘息空间”(HTML/CSS)?
Posted
技术标签:
【中文标题】如何修改我的四个象限以在它们之间留出一些“喘息空间”(HTML/CSS)?【英文标题】:How can I modify my four quadrants to allow some "breathing room" between them (HTML/CSS)? 【发布时间】:2016-12-15 21:54:42 【问题描述】:根据接受的答案here,我已经能够在我的页面上创建四个等大小/形状的象限。
所以页面现在看起来像这样:
我现在想给象限一些“肘部空间”——它们的边缘周围有一些空白空间。我尝试为他们使用的类添加边距:
.topleft
background-color: blue;
margin: 4;
.topright
background-color: red;
margin: 4;
.bottomleft
background-color: green;
margin: 4;
.bottomright
background-color: yellow;
margin: 4;
那什么也没做;我尝试然后添加填充:
.topleft
background-color: blue;
padding: 4;
.topright
background-color: red;
padding: 4;
.bottomleft
background-color: green;
padding: 4;
.bottomright
background-color: yellow;
padding: 4;
...这也没有用。
我需要做些什么来为所有人保留相同的 1/4 空间,但通过在它们之间添加边距或在它们周围填充来有效地“挤压”它们?
这是整个 html/css:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>eServices Customer Dashboard</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Latest compiled javascript -->
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Inline CSS (don't tell the CSS-Whisperers I did this!) -->
<style>
body
background-color: azure;
.body-content
-webkit-box-shadow: -1px 0 5px 0 #000000;
-webkit-box-shadow: -1px 0 5px 0 rgba(0, 0, 0, .25);
box-shadow: -1px 0 5px 0 #000000;
box-shadow: -1px 0 5px 0 rgba(0, 0, 0, .5);
padding-left: 1px;
padding-right: 1px;
padding-bottom: 15px;
.jumbotronjr
padding: 12px;
margin-bottom: -16px;
font-size: 21px;
font-weight: 200;
color: inherit;
background-color: white;
.addltopmargin
margin-top: 8px;
.sectiontext
font-size: 1.5em;
font-weight: bold;
font-family: Candara, Calibri, Cambria, serif;
.bottommarginbreathingroom
margin-bottom: 2px;
.marginaboveandbelow
margin-top: 15px;
margin-bottom: 15px;
.rightjustifytext
text-align: right;
table
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
td, th
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
tr:nth-child(even)
background-color: #dddddd;
.contents
height:50%;
width:100%;
redfont
color: red;
*
padding: 0;
margin: 0;
box-sizing: border-box;
.container
width: 100vw;
height: 100vh;
display: flex;
flex-wrap: wrap;
.container div
display: inline-block;
width: 50vw;
height: 50vh;
overflow-y: scroll;
.topleft
background-color: blue;
padding: 4;
.topright
background-color: red;
padding: 4;
.bottomleft
background-color: green;
padding: 4;
.bottomright
background-color: yellow;
padding: 4;
</style>
</head>
<body>
<div class="contents">
<div class="row">
<div class="col-md-6 topleft">
<h2>Top 10 Items Purchased</h2>
<div>
<input type="date" class="bottommarginbreathingroom" id="daterangefrom2" name="daterangefrom2">
</input>
<label> to </label>
<input type="date" class="bottommarginbreathingroom" id="daterangeto2" name="daterangeto2">
</input>
</div>
<table>
<tr>
<th>Item Code</th>
<th>Description</th>
<th>Qty</th>
</tr>
<tr>
<td>Item Code 1</td>
<td>Description 1</td>
<td>Qty 1</td>
</tr>
<tr>
<td>Item Code 2</td>
<td>Description 2</td>
<td>Qty 2</td>
</tr>
<tr>
<td>Item Code 3</td>
<td>Description 3</td>
<td>Qty 3</td>
</tr>
<tr>
<td>Item Code 4</td>
<td>Description 4</td>
<td>Qty 4</td>
</tr>
<tr>
<td>Item Code 5</td>
<td>Description 5</td>
<td>Qty 5</td>
</tr>
<tr>
<td>Item Code 6</td>
<td>Description 6</td>
<td>Qty 6</td>
</tr>
<tr>
<td>Item Code 7</td>
<td>Description 7</td>
<td>Qty 7</td>
</tr>
<tr>
<td>Item Code 8</td>
<td>Description 8</td>
<td>Qty 8</td>
</tr>
<tr>
<td>Item Code 9</td>
<td>Description 9</td>
<td>Qty 9</td>
</tr>
<tr>
<td>Item Code 10</td>
<td>Description 10</td>
<td>Qty 10</td>
</tr>
</table>
</div>
<div class="col-md-6 topright">
<h2>Pricing Exceptions - Weekly Recap</h2>
<h3 class="redfont">Red denotes Contract Item Overages</h3>
<h3>For Weyand on the pricing week of - 7/31/2016</h3>
<table>
<tr>
<th>Invoice No</th>
<th>Invoice Date</th>
<th>Customer</th>
<th>Cust #</th>
<th>Item Code</th>
<th>Description</th>
<th>Member Item Code</th>
<th>Member Description</th>
<th>Bid Price</th>
<th>Sell Price</th>
<th>Qty</th>
</tr>
<tr>
<td>Inv No 1</td>
<td>Inv Date 1</td>
<td>Customer 1</td>
<td>Cust # 1</td>
<td>Item Code 1</td>
<td>Descrip. 1</td>
<td>M.I. Code 1</td>
<td>Memb Desc 1</td>
<td>Bid Price 1</td>
<td>Sell Pr. 1</td>
<td>Qty 1</td>
</tr>
<tr>
<td>Inv No 2</td>
<td>Inv Date 2</td>
<td>Customer 2</td>
<td>Cust # 2</td>
<td>Item Code 2</td>
<td>Descrip. 2</td>
<td>M.I. Code 2</td>
<td>Memb Desc 2</td>
<td>Bid Price 2</td>
<td>Sell Pr. 2</td>
<td>Qty 2</td>
</tr>
<tr>
<td>Inv No 3</td>
<td>Inv Date 3</td>
<td>Customer 3</td>
<td>Cust # 3</td>
<td>Item Code 3</td>
<td>Descrip. 3</td>
<td>M.I. Code 3</td>
<td>Memb Desc 3</td>
<td>Bid Price 3</td>
<td>Sell Pr. 3</td>
<td>Qty 3</td>
</tr>
</table>
</div>
</div>
<div class="row">
<div class="col-md-6 bottomleft">
<h2>Forecasted Spend</h2>
<table>
<tr>
<th>Item</th>
<th>Last Week's Usage</th>
<th>This Week's Price</th>
<th>Forecasted Spend</th>
</tr>
<tr>
<td>Item 1</td>
<td>52</td>
<td>TWP 1</td>
<td>68.00</td>
</tr>
<tr>
<td>Item 2</td>
<td>49</td>
<td>TWP 2</td>
<td>65.00</td>
</tr>
<tr>
<td>Item 3</td>
<td>46</td>
<td>TWP 3</td>
<td>63.00</td>
</tr>
<tr>
<td>Item 4</td>
<td>42</td>
<td>TWP 4</td>
<td>60.00</td>
</tr>
<tr>
<td>Item 5</td>
<td>40</td>
<td>TWP 5</td>
<td>58.00</td>
</tr>
<tr>
<td>Item 6</td>
<td>42</td>
<td>TWP 6</td>
<td>60.00</td>
</tr>
<tr>
<td>Item 7</td>
<td>43</td>
<td>TWP 7</td>
<td>61.00</td>
</tr>
<tr>
<td>Item 8</td>
<td>43</td>
<td>TWP 8</td>
<td>61.00</td>
</tr>
<tr>
<td>TOTAL</td>
<td>314</td>
<td></td>
<td>$496.00</td>
</tr>
</table>
</div>
<div class="col-md-6 bottomright">
<h2>Fill Rate</h2>
<table>
<tr>
<th>Unit</th>
<th>Co. Name</th>
<th>Desc</th>
<th>Ord</th>
<th>Ship</th>
<th>Var</th>
</tr>
<tr>
<td>Unit 1</td>
<td>Co. Name 1</td>
<td>Desc 1</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 2</td>
<td>Co. Name 2</td>
<td>Desc 2</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 3</td>
<td>Co. Name 3</td>
<td>Desc 3</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 4</td>
<td>Co. Name 4</td>
<td>Desc 4</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 5</td>
<td>Co. Name 5</td>
<td>Desc 5</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 6</td>
<td>Co. Name 6</td>
<td>Desc 6</td>
<td>40</td>
<td>40</td>
<td>0</td>
</tr>
<tr>
<td>Unit 7</td>
<td>Co. Name 7</td>
<td>Desc 7</td>
<td>40</td>
<td>39</td>
<td>1</td>
</tr>
<tr>
<td>Unit 8</td>
<td>Co. Name 8</td>
<td>Desc 8</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>TOTAL</td>
<td></td>
<td></td>
<td>280</td>
<td>279</td>
<td>1</td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>
更新
添加填充只会使象限膨胀,而不会在它们之间提供任何喘息空间。它看起来或多或少好像将“顶部”属性分配给第一个元素,将其进一步向下推。
添加边距 (16px) 会使象限在页面上垂直排列 - 全部在左侧,右侧没有。四块垂直堆叠,每一块都在下一层之上。
【问题讨论】:
它们的边缘周围有一些空白空间 - 您是否希望该空间与您的象限(填充)颜色相同,或者您是否希望它们之间有实际的空白(边距) .因为只是在那里添加一个边距会破坏事情。我认为下面的答案都忽略了您使用的是 Bootstrap 的网格布局这一事实。 空白;是的,我认为你是对的,因为我的更新显示填充和边距都不起作用。 【参考方案1】:margin
和 padding
都采用 CSS length 单位。有很多不同的,因为它们以绝对单位(像素或px
是最常见的)或相对单位(em
,rem
是最常见的)进行分类。您也可以使用由百分比给出的尺寸值%
,即使它不是长度值。
完整列表和深入解释请参考here。
在您的情况下,padding
可能会帮助您,您可能希望使用比 4px
更大的值。
【讨论】:
填充并没有产生我想要的效果 - 四个象限仍然像以前一样紧密结合。 添加一个包含每个col-md-6
内容的包装 div 并将填充附加到它,而不是将填充直接应用于每一列。这样它就可以按照您的意愿工作。【参考方案2】:
不要向包含引导程序 column
类的 div 添加新类。相反,创建一个子 div 并将您的样式应用到内部 div。
例如: 替换
<div class="row">
<div class="col-md-6 topleft">
...
</div>
</div>
与
<div class="row">
<div class="col-md-6">
<div class="topleft">
...
</div>
</div>
</div>
通过这种方式,您可以在外部 div 中控制容器的整体边界,并在内部 div 中对其进行样式设置(添加边距、填充)。
另外,按照其他人的建议,使用 px/em 单位作为填充/边距。
Codepen:http://codepen.io/anon/pen/vKQwyg
【讨论】:
【参考方案3】:为您的边距/填充添加一个单位,例如 px(绝对值)或 em(相对值)。请参考:http://www.w3schools.com/css/css_padding.asp
【讨论】:
【参考方案4】:给出margin
& padding
属性的单位,如px, em
。尝试给margin: 4px;
。但是4px
似乎很小。
【讨论】:
尝试给margin: 4px;
。但是4px
似乎很小。是的,将您的边距设置得稍大一点,或很大只是为了确保它们被应用。您需要 px 或 % 才能产生效果,而您的代码缺少这些效果。以上是关于如何修改我的四个象限以在它们之间留出一些“喘息空间”(HTML/CSS)?的主要内容,如果未能解决你的问题,请参考以下文章