1. Master the display effect of text with ellipsis
1. To achieve the following effects, pure DIV CSS is required, Not applicable to any frame
Additional instructions
1. The overall width is 500px, displayed in the center of the page
2. Title font size It is 22px, other fonts are 16px
3. The name of the author of Super Pistachio is on the far left, and the time displayed 2 days ago is on the far right.
4. All small icons are 20px in size Display
5. The full text of the title is: Lu Yao's "Ordinary World" has inspired countless young people and inspired countless people's hearts
1. Prepare materials: Create an images folder in the root directory and store all relevant material pictures here. The materials are
#2. Create index.html, write the architecture, how to analyze the architecture
Idea analysis:
1. The target is divided into two parts. The first part is a large title, but this title has an ellipsis, indicating that the text in it exceeds the maximum width of the container.
2 , the following part is a list, the list displays from left to right, the author's name, a very popular logo, the number of likes, the number of comments, and the publication date of the text, displayed in days
According to analysis , we get the following code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS3文本带省略号实现案例</title> </head> <body> <div class="container"> <div class="top"> 路遥《平凡的世界》,激励了无数的青年,鼓舞了无数人的心 </div> <div class="bottom"> <ul> <li><span class="text">超级开心果</span></li> <li class="zan"> <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon fireicon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon zanicon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <span class="text">45</span> </li> <li class="liuyan"> <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <span class="text">0</span> </li> <li class="date"> <span class="text">2天前</span></li> <li class="clear"></li> </ul> </div> </div> </body> </html>
3. Writing style
Idea analysis:
1. .container *
Idea analysis
1. In order to set the common styles of all elements in the container, we can write these common codes into the .container * style
So add the following code to index.css:
.container *{ padding:0; margin: 0; }
2. .container
Idea analysis
1. According to the above requirements, width=500px, Then it is required to be centered, so the code is converted to margin:0 auto;
So add the following code to index.css:
.container{ width: 500px; margin:0 auto; }
3, .top
Thinking Analysis
1. According to the above requirements, it is known that its width is 100%, and then the title should be displayed in the center, that is, text-align: center; the size is 22px, that is, font-size: 22px; the key point is that if the title length If it is too long, we need to make it display with ellipses, so we need to write like this:
text-overflow:ellipsis; (with ellipses when it exceeds)
overflow: hidden; (hidden when exceeded)
white-space:nowrap; (no line wrap when exceeded)
2. There is a certain gap between the upper and lower divs Spacing, the spacing is 22px, that is, margin-bottom: 20px;
So add the following code to index.css:
.top{ width: 100%; text-align: center; font-size: 22px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; margin-bottom: 20px; }
4, ul,li
According to The effect is that all li do not have black dots, so list-style: none; and they are arranged horizontally, so float: left;
So the code added to index.css is as follows:
ul li{ list-style: none; float: left; }
5. li.clear
Because li are all floating, the last column must be cleared, so clear:both, float:none, and in order not to affect the layout, the width and height of li.clear must be set to 0
So add the code to index.css as follows:
li.clear{ clear: both; float: none; width:0; height:0; }
6, li.zan
Because the column where the like information is displayed exists with the first column There is a certain left margin and a right margin for the right column, so we set it to margin-left:100px; margin-right:30px;
And because there is a gray vertical line, we can Display the right border of li, the size is 1px, and the color is light gray, so border-right: 1px solid lightgray;
So add the code to index.css as follows:
li.zan{ margin-left:100px; margin-right:35px; border-right: 1px solid lightgray; }
7. li.date
Because the li that displays the date needs to be displayed to the far right, float:right
So add the code to index.css as follows:
li.date{ float: right; }
8, .icon
1. According to the requirements, width and height are both 20px
, so add the code to index.css as follows:
.icon{ width:20px; height: 20px; }
9. .fireicon
1. Because from the result, there is a right margin between it and the element on the right, so we can write padding-right:10px;
.fireicon{ padding-right:10px; }
10. .text
1. According to the requirements, the color is gray color:gray, and the font size is 16px, so font-size:16px
So add the code to index.css as follows:
.text{ color:gray; font-size: 16px; }
So far, the entire content of index.css is as follows:
.container *{ padding:0; margin: 0; } .container{ width: 500px; margin:0 auto; } .top{ width: 100%; text-align: center; font-size: 22px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; margin-bottom: 20px; } ul li{ list-style: none; float: left; } li.clear{ clear: both; float: none; width:0; height:0; } li.zan{ margin-left:100px; margin-right:35px; border-right: 1px solid lightgray; } li.date{ float: right; } .icon{ width:20px; height: 20px; } .fireicon{ padding-right:10px; } .text{ color:gray; font-size: 16px; }
Then introduce index.css into index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS3文本带省略号实现案例</title> <link rel="stylesheet" href="css/index.css" /> </head> <body> <div class="container"> <div class="top"> 路遥《平凡的世界》,激励了无数的青年,鼓舞了无数人的心 </div> <div class="bottom"> <ul> <li><span class="text">超级开心果</span></li> <li class="zan"> <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon fireicon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon zanicon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <span class="text">45</span> </li> <li class="liuyan"> <img src="images/Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" class="icon"/ alt="Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example)" > <span class="text">0</span> </li> <li class="date"> <span class="text">2天前</span></li> <li class="clear"></li> </ul> </div> </div> </body> </html>
The running effect is as follows:
So far, we have achieved all the requirements
1. Learned how to display text with ellipses. The main code is as follows:
text -overflow:ellipsis;
overflow:hidden;
white-space:nowrap;
I hope this article can bring some help to everyone, thank you! ! !
The above is the detailed content of Text-overflow in CSS3 implements the display effect of article titles with ellipses (code example). For more information, please follow other related articles on the PHP Chinese website!