* chore(i8n,learn): processed translations * Update curriculum/challenges/chinese/01-responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text.md Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com> Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>
		
			
				
	
	
		
			140 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
id: 5a90372638fddaf9a66b5d38
 | 
						||
title: 使用 grid-column 来控制空间大小
 | 
						||
challengeType: 0
 | 
						||
videoUrl: 'https://scrimba.com/p/pByETK/cnzkDSr'
 | 
						||
forumTopicId: 301136
 | 
						||
dashedName: use-grid-column-to-control-spacing
 | 
						||
---
 | 
						||
 | 
						||
# --description--
 | 
						||
 | 
						||
到目前为止,所有的讨论都是围绕网格容器的。 `grid-column` 属性是我们要讨论的,第一个用于网格项本身的属性。
 | 
						||
 | 
						||
网格中,假想的水平线和垂直线被称为<dfn>线(lines)</dfn>。 这些线在网格的左上角从 1 开始编号,垂直线向右、水平线向下累加计数。
 | 
						||
 | 
						||
这是一个 3x3 网格的线条:
 | 
						||
 | 
						||
<div style='position:relative;margin:auto;background:Gainsboro;display:block;margin-top:100px;margin-bottom:50px;width:200px;height:200px;'><p style='left:25%;top:-30%;font-size:130%;position:absolute;color:RoyalBlue;'>列线</p><p style='left:0%;top:-15%;font-size:130%;position:absolute;color:RoyalBlue;'>1</p><p style='left:30%;top:-15%;font-size:130%;position:absolute;color:RoyalBlue;'>2</p><p style='left:63%;top:-15%;font-size:130%;position:absolute;color:RoyalBlue;'>3</p><p style='left:95%;top:-15%;font-size:130%;position:absolute;color:RoyalBlue;'>4</p><p style='left:-40%;top:45%;font-size:130%;transform:rotateZ(-90deg);position:absolute;'>行线</p><p style='left:-10%;top:-10%;font-size:130%;position:absolute;'>1</p><p style='left:-10%;top:21%;font-size:130%;position:absolute;'>2</p><p style='left:-10%;top:53%;font-size:130%;position:absolute;'>3</p><p style='left:-10%;top:85%;font-size:130%;position:absolute;'>4</p><div style='left:0%;top:0%;width:5%;height:100%;background:RoyalBlue;position:absolute;'></div><div style='left:31%;top:0%;width:5%;height:100%;background:RoyalBlue;position:absolute;'></div><div style='left:63%;top:0%;width:5%;height:100%;background:RoyalBlue;position:absolute;'></div><div style='left:95%;top:0%;width:5%;height:100%;background:RoyalBlue;position:absolute;'></div><div style='left:0%;top:0%;width:100%;height:5%;background:black;position:absolute;'></div><div style='left:0%;top:31%;width:100%;height:5%;background:black;position:absolute;'></div><div style='left:0%;top:63%;width:100%;height:5%;background:black;position:absolute;'></div><div style='left:0%;top:95%;width:100%;height:5%;background:black;position:absolute;'></div></div>
 | 
						||
 | 
						||
要设置一个网格项占据几列,你可以使用 `grid-column` 属性加上网格线条的编号来定义网格项开始和结束的位置。
 | 
						||
 | 
						||
示例如下:
 | 
						||
 | 
						||
```css
 | 
						||
grid-column: 1 / 3;
 | 
						||
```
 | 
						||
 | 
						||
这会让网格项从左侧第一条线开始到第三条线结束,占用两列。
 | 
						||
 | 
						||
# --instructions--
 | 
						||
 | 
						||
请让 class 为 `item5` 的网格项占用网格的最后两列。
 | 
						||
 | 
						||
# --hints--
 | 
						||
 | 
						||
class 为 `item5` 的元素应具有 `grid-column` 属性。
 | 
						||
 | 
						||
```js
 | 
						||
assert(
 | 
						||
  __helpers
 | 
						||
    .removeWhiteSpace($('style').text())
 | 
						||
    .match(/\.item5{.*grid-column:.*}/g)
 | 
						||
);
 | 
						||
```
 | 
						||
 | 
						||
class 为 `item5` 的元素应具有 `grid-column` 属性,其属性值应将元素设置为占用网格的最后两列。
 | 
						||
 | 
						||
```js
 | 
						||
const colStart = getComputedStyle($('.item5')[0]).gridColumnStart;
 | 
						||
const colEnd = getComputedStyle($('.item5')[0]).gridColumnEnd;
 | 
						||
const result = colStart.toString() + colEnd.toString();
 | 
						||
const correctResults = [
 | 
						||
  '24',
 | 
						||
  '2-1',
 | 
						||
  '2span 2',
 | 
						||
  '2span2',
 | 
						||
  'span 2-1',
 | 
						||
  '-12',
 | 
						||
  'span 2span 2',
 | 
						||
  'span 2auto',
 | 
						||
  'autospan 2'
 | 
						||
];
 | 
						||
assert(correctResults.includes(result));
 | 
						||
```
 | 
						||
 | 
						||
# --seed--
 | 
						||
 | 
						||
## --seed-contents--
 | 
						||
 | 
						||
```html
 | 
						||
<style>
 | 
						||
  .item1{background:LightSkyBlue;}
 | 
						||
  .item2{background:LightSalmon;}
 | 
						||
  .item3{background:PaleTurquoise;}
 | 
						||
  .item4{background:LightPink;}
 | 
						||
 | 
						||
  .item5 {
 | 
						||
    background: PaleGreen;
 | 
						||
    /* Only change code below this line */
 | 
						||
 | 
						||
 | 
						||
    /* Only change code above this line */
 | 
						||
  }
 | 
						||
 | 
						||
  .container {
 | 
						||
    font-size: 40px;
 | 
						||
    min-height: 300px;
 | 
						||
    width: 100%;
 | 
						||
    background: LightGray;
 | 
						||
    display: grid;
 | 
						||
    grid-template-columns: 1fr 1fr 1fr;
 | 
						||
    grid-template-rows: 1fr 1fr 1fr;
 | 
						||
    grid-gap: 10px;
 | 
						||
  }
 | 
						||
</style>
 | 
						||
 | 
						||
<div class="container">
 | 
						||
  <div class="item1">1</div>
 | 
						||
  <div class="item2">2</div>
 | 
						||
  <div class="item3">3</div>
 | 
						||
  <div class="item4">4</div>
 | 
						||
  <div class="item5">5</div>
 | 
						||
</div>
 | 
						||
```
 | 
						||
 | 
						||
# --solutions--
 | 
						||
 | 
						||
```html
 | 
						||
<style>
 | 
						||
  .item1{background:LightSkyBlue;}
 | 
						||
  .item2{background:LightSalmon;}
 | 
						||
  .item3{background:PaleTurquoise;}
 | 
						||
  .item4{background:LightPink;}
 | 
						||
 | 
						||
  .item5 {
 | 
						||
    background: PaleGreen;
 | 
						||
    grid-column: 2 / 4;
 | 
						||
  }
 | 
						||
 | 
						||
  .container {
 | 
						||
    font-size: 40px;
 | 
						||
    min-height: 300px;
 | 
						||
    width: 100%;
 | 
						||
    background: LightGray;
 | 
						||
    display: grid;
 | 
						||
    grid-template-columns: 1fr 1fr 1fr;
 | 
						||
    grid-template-rows: 1fr 1fr 1fr;
 | 
						||
    grid-gap: 10px;
 | 
						||
  }
 | 
						||
</style>
 | 
						||
 | 
						||
<div class="container">
 | 
						||
  <div class="item1">1</div>
 | 
						||
  <div class="item2">2</div>
 | 
						||
  <div class="item3">3</div>
 | 
						||
  <div class="item4">4</div>
 | 
						||
  <div class="item5">5</div>
 | 
						||
</div>
 | 
						||
```
 |