官术网_书友最值得收藏!

Show morefeature

We've run into a problem now that thelistssection is after theAboutsection. TheAboutsection has an arbitrary length, and in some of the mock listings that we'll add you'll see that this section is quite long.

We don't want it to dominate the page and force the user to do a lot of unwelcome scrolling to see thelistssection, so we need a way to hide some of the text if it's too long, yet allow the user to view the full text if they choose.

Let's add ashow moreUI feature that will crop theAbouttext after a certain length and give the user a button to reveal the hidden text:

Figure 2.8.Show morefeature

We'll start by adding acontractedclassto theptag that contains theabouttext interpolation. The CSS rule for this class will restrict its height to 250 pixels and hide any text overflowing the element.

index.html:

<p class="about">
  <h3>About this listing</h3>
  <p class="contracted">{{ about }}</p>
</p>

style.css:

.about p.contracted {
  height: 250px;
  overflow: hidden;
}

We'll also put a button after theptag that the user can click to expand the section to full height.

index.html:

<p class="about">
  <h3>About this listing</h3>
  <p class="contracted">{{ about }}</p>
  <button class="more">+ More</button>
</p>

Here's the CSS that's needed, including a generic button rule that will provide base styling for all buttons that we'll add throughout the project.

style.css:

button {
  text-align: center;
  vertical-align: middle;
  user-select: none;
  white-space: nowrap;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0;
}

.about button.more {
  background: transparent;
  border: 0;
  color: #008489;
  padding: 0;
  font-size: 17px;
  font-weight: bold;
}

.about button.more:hover, 
.about button.more:focus, 
.about button.more:active {
  text-decoration: underline;
  outline: none;
}

To make this work, we need a way to remove thecontractedclass when the user clicks theMorebutton. Seems like a good job for directives!

主站蜘蛛池模板: 成都市| 北宁市| 石首市| 双峰县| 开封县| 屯昌县| 沛县| 青铜峡市| 宁德市| 邛崃市| 固镇县| 灌阳县| 增城市| 微山县| 绍兴市| 定边县| 通榆县| 临清市| 九台市| 同江市| 菏泽市| 云南省| 怀宁县| 通河县| 福清市| 霸州市| 乌拉特前旗| 汝州市| 中山市| 册亨县| 富平县| 永胜县| 合川市| 兴安县| 林甸县| 万山特区| 泗水县| 鸡东县| 文化| 灵川县| 景洪市|