您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > CSS

CSS模仿今日头条文章显示

时间:2022-11-14 17:11:38  来源:今日头条  作者:程序员COW哥

运行效果

效果图

技术要点

  • 图片和文字的对齐方式,vertical-align: bottom 底部对齐,vertical-align: middle 居中对齐
  • 浮动 float: left,子元素一浮动,需要全部浮动,浮动后不占有位置,脱标,需要解决盒子的坍塌问题,具体可以参考以前的文章。
  • css选择器,特别是伪类选择器
  • 利用画三角型的技巧,实现箭头的向上向下效果,具体参考以前文章的总结。
  • 元素的模式转换,display: block,display: inline,display:inline-block,行内元素、块级元素,行内块元素的特点以及区别,每个html标签默认是哪种模式,这个非常重要,标签是有语义的,哪种情况下需要用哪种标签,是否需要转换模式,需要很熟练掌握。

源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模仿今日头条</title>
    <style type="text/css">

        *{
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
        }

        /* 这里是外面的大盒子,设置高度350像素和宽度230像素,距离底部100像素,整个盒子设置10像素的圆角*/
        .box{
            width: 350px;
            height: 230px;
            margin: 100px auto;
            border-radius: 10px;
        }

        /* begin 顶部的标题区,高度为40像素*/
        .header {
            height: 40px;
        }

        /* 设置图片高度30像素,vertical-align 为bottom,这样文字和图片底部对象*/
        .header .title img{
            height: 30px;
            vertical-align: bottom;
        }

        .header .switch img{
            height: 25px;
            vertical-align: bottom;
        }

        .title {
            float: left;
            font-size: 20px;
            padding-left: 10px;
        }
        .switch {
            float: right;
            font-size: 14px;
            padding-right: 10px;
        }
        /* end */

        /*begin 文章内容区*/
        .content {
            margin-top: 10px;
            margin-left: 10px;
        }

        .content li  {
            height: 40px;
            line-height: 40px;
        }

        .content li div {
            display: inline-block;
            font-size: 20px;
            font-weight: 700;
            color: #A8A8A8;
        }

        .content li div:hover {
            cursor: pointer;
        }

        .content li a {
            font-size: 16px;
            margin-left: 10px;
        }

        .content li a:hover {
            color: red;
            cursor: pointer;
        }

        .hot {
            width: 20px;
            height: 20px;
            border-radius: 5px;
            background: red;
            line-height: 20px;
        }

        .content li div:nth-child(3) {
            color: white;
            font-size: 12px;
            text-align: center;
        }

        #heng{
            display: block;
            width:10px;
            height:2px;
            background-color:red;
            margin-bottom: -4px;
        }

        /* 向下箭头 */
        #to_top {
            width: 0;
            height: 0;
            border-top: 5px solid transparent;
            border-bottom: 5px solid red;
            border-left: 5px solid transparent;
            border-right: 5px solid transparent;
            display: block;
        }

        #line{
            display: block;
            width:2px;
            height:10px;
            background-color:red;
            margin-left: 4px;
        }

        #number1 {
            color: #D9A5A5;
        }
        #number2 {
            color: #F36D6E;
        }
        #number3 {
            color: #FF9A03;
        }
       /* end 文章内容区*/
    </style>
</head>
<body>


  <div class="box">

     <div class="header">
         <div  class="title">
             <img src="image1.png" />
             <span>头条热榜</span>
         </div>

         <div class="switch">
             <img src="image2.png" />
             <span>换一换</span>
         </div>
     </div>

      <div class="content">
          <ul>
              <li>
                  <div>
                      <div id="heng"></div>
                      <div id="to_top"></div>
                      <div id="line"></div>
                  </div>
                  <a>构建网络空间命运共同体</a>
              </li>

              <li>
                  <div id="number1">1</div>
                  <a>印尼总统称强烈感觉普京不出席G20</a>

                  <div class="hot" >热</div>
              </li>

              <li>
                  <div id="number2">2</div>
                  <a>小伙买房买贵了放弃5万定金毁约</a>
                  <div class="hot" >热</div>
              </li>

              <li>
                  <div id="number3">3</div>
                  <a>携手构建网络空间命运共同体</a>
              </li>

              <li>
                  <div>4</div>
                  <a>泽连斯基将参加G20峰会</a>
                  <div class="hot" >热</div>
              </li>

              <li>
                  <div>5</div>
                  <a>文旅局长被吐槽像如花 女儿当表情包</a>
              </li>

              <li>
                  <div>6</div>
                  <a>老太借房给重孙上学 孙子却拒还</a>
              </li>
          </ul>
      </div>

  </div>
</body>
</html>


Tags:CSS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
12 个超级实用的 CSS 技巧
user-selectuser-select 属性可以用来控制用户是否能够选择文本。<div> <p>You can&#39;t select this text.</p></div><p>You can select this text.</p>CSS:div { width...【详细内容】
2023-12-19  Search: CSS  点击:(129)  评论:(0)  加入收藏
Vue里使用Tailwind CSS,这不是耍流氓吗
前言随着前端的发展,对前端页面的要求越来越高,而css的功能也越来越强大,但对于写css样式来说却是非常头疼的的事。因为前端页面的动画要求以及页面布局的精细管控,需要写大量的...【详细内容】
2023-12-11  Search: CSS  点击:(163)  评论:(0)  加入收藏
原生CSS嵌套使用,你学明白了吗?
如果你是一个前端开发人员,那么你应该使用过CSS预处理器以及预处理器中的嵌套特性。它一直是一个受欢迎的功能,我一直都在使用CSS预处理器。今年所有的主流浏览器都支持原生CS...【详细内容】
2023-12-06  Search: CSS  点击:(183)  评论:(0)  加入收藏
CSS_Flex 那些鲜为人知的内幕
前言Flex想必大家都很熟悉,也是大家平时在进行页面布局的首选方案。(反正我是!)。不知道大家平时在遇到Flex布局属性问题时,是如何查阅并解决的。反正,我每次记不住哪些属性或...【详细内容】
2023-12-06  Search: CSS  点击:(140)  评论:(0)  加入收藏
CSS:这几个伪类,你用了吗
## :root 伪类:root 伪类是匹配文档的根元素,很多时候,根元素也就是 html 元素,用 root 伪类来匹配根元素,目的就是解决根元素不是 html 的场景,比如根元素是 svg 的时候。 root...【详细内容】
2023-11-30  Search: CSS  点击:(169)  评论:(0)  加入收藏
新 CSS Math方法:Rem() 和 Mod()
CSS 添加了许多新的数学函数来补充旧有的函数(如 calc() 和最近的 clamp() )。这些函数最终都表示一个数值,但其工作原理的细微差别并不总是一开始就很清楚。本文介绍每个函数...【详细内容】
2023-11-23  Search: CSS  点击:(254)  评论:(0)  加入收藏
CSS 新功能:让编码更高效
CSS 是一种不断发展的语言。每一次迭代,它都会变得越来越好。因此,了解最新的 CSS 功能非常重要,这样你才能在项目中使用它们,减少对第三方库的依赖。本文将介绍一些即将推出的...【详细内容】
2023-11-16  Search: CSS  点击:(165)  评论:(0)  加入收藏
使用 CSS Grid 的响应式网页设计:消除媒体查询过载
前言你是否厌倦了在实现响应式网站时需要管理多个媒体查询?说再见复杂的代码,拥抱更简单的解决方案吧:CSS Grid。在这篇文章中,我们将踏上一场激动人心的 CSS Grid 之旅,发现它如...【详细内容】
2023-11-10  Search: CSS  点击:(277)  评论:(0)  加入收藏
CSS这几个函数很实用,也很简单
calc()CSS 的 calc 函数非常实用,很多情况下,我们都会用到这个函数。calc 函数支持加减乘除四种运算,但是,它也有限制: 运算符前后带有单位或者百分比的数值,只能进行加减,不能进行...【详细内容】
2023-11-08  Search: CSS  点击:(219)  评论:(0)  加入收藏
这三个CSS生成器千万别错过啦!
前言 大家好我是小卢,「新拟态风格」和「磨砂玻璃」风格都是让人眼前一亮的一种设计风格,已经成为了最具代表性的设计趋势之一。 但是我们在真正写 CSS 的时候不容易调整这个...【详细内容】
2023-11-03  Search: CSS  点击:(159)  评论:(0)  加入收藏
▌简易百科推荐
12 个超级实用的 CSS 技巧
user-selectuser-select 属性可以用来控制用户是否能够选择文本。<div> <p>You can&#39;t select this text.</p></div><p>You can select this text.</p>CSS:div { width...【详细内容】
2023-12-19  前端充电宝  微信公众号  Tags:CSS   点击:(129)  评论:(0)  加入收藏
原生CSS嵌套使用,你学明白了吗?
如果你是一个前端开发人员,那么你应该使用过CSS预处理器以及预处理器中的嵌套特性。它一直是一个受欢迎的功能,我一直都在使用CSS预处理器。今年所有的主流浏览器都支持原生CS...【详细内容】
2023-12-06  南城大前端  微信公众号  Tags:CSS   点击:(183)  评论:(0)  加入收藏
CSS_Flex 那些鲜为人知的内幕
前言Flex想必大家都很熟悉,也是大家平时在进行页面布局的首选方案。(反正我是!)。不知道大家平时在遇到Flex布局属性问题时,是如何查阅并解决的。反正,我每次记不住哪些属性或...【详细内容】
2023-12-06  前端柒八九  微信公众号  Tags:CSS   点击:(140)  评论:(0)  加入收藏
CSS:这几个伪类,你用了吗
## :root 伪类:root 伪类是匹配文档的根元素,很多时候,根元素也就是 html 元素,用 root 伪类来匹配根元素,目的就是解决根元素不是 html 的场景,比如根元素是 svg 的时候。 root...【详细内容】
2023-11-30  读心悦  微信公众号  Tags:CSS   点击:(169)  评论:(0)  加入收藏
让你开发更舒适的 Tailwind 技巧
免费体验 Gpt4 plus 与 AI作图神器,我们出的钱 体验地址:体验使用 Tailwind CSS,我避免了在 React 项目中复制大量 CSS 文件的麻烦,使网页开发变得更加迅速高效。虽然 Tailwind...【详细内容】
2023-11-28  大迁世界  微信公众号  Tags:Tailwind   点击:(177)  评论:(0)  加入收藏
Display和Visibility的区别,你了解了吗?
采用CSS实现元素隐藏的方法有很多种,比如定位到屏幕之外、透明度变换等。而常见的两种方式是将元素设置为display:none或者visibility:hidden。元素样式设置为display:none当...【详细内容】
2023-11-27  读心悦  微信公众号  Tags:Display   点击:(172)  评论:(0)  加入收藏
新 CSS Math方法:Rem() 和 Mod()
CSS 添加了许多新的数学函数来补充旧有的函数(如 calc() 和最近的 clamp() )。这些函数最终都表示一个数值,但其工作原理的细微差别并不总是一开始就很清楚。本文介绍每个函数...【详细内容】
2023-11-23  大迁世界  微信公众号  Tags:CSS   点击:(254)  评论:(0)  加入收藏
CSS 新功能:让编码更高效
CSS 是一种不断发展的语言。每一次迭代,它都会变得越来越好。因此,了解最新的 CSS 功能非常重要,这样你才能在项目中使用它们,减少对第三方库的依赖。本文将介绍一些即将推出的...【详细内容】
2023-11-16  大迁世界  微信公众号  Tags:CSS   点击:(165)  评论:(0)  加入收藏
使用 CSS Grid 的响应式网页设计:消除媒体查询过载
前言你是否厌倦了在实现响应式网站时需要管理多个媒体查询?说再见复杂的代码,拥抱更简单的解决方案吧:CSS Grid。在这篇文章中,我们将踏上一场激动人心的 CSS Grid 之旅,发现它如...【详细内容】
2023-11-10  前端YUE  微信公众号  Tags:CSS   点击:(277)  评论:(0)  加入收藏
2024年了,别只使用React,需要学习一下Vue,不然没出路了
最近,我的朋友因为不熟悉 Vue.js 而未能通过面试。她平时工作中大部分时间都在使用React,所以也懒得去了解其他前端框架。世界上所有的前端框架我们都应该熟悉吗?不,这是极其不...【详细内容】
2023-11-08  web前端开发  微信公众号  Tags:Vue   点击:(295)  评论:(0)  加入收藏
站内最新
站内热门
站内头条