如何用HTML写一个新闻页面?(详细教程)

前言

在这篇文章中,我将会详细讲解用HTML和CSS制作一个简单的新闻页面。


目录

新浪新闻-标题排版

新浪新闻-标题样式-标题颜色

新浪新闻-标题样式-超链接

新浪新闻-正文排版

新浪新闻-页面布局

布局标签

总结


 

原始页面网址:原始新闻页面链接

提示:本文所用的网址是新浪新闻网的页面,不涉及任何政治问题,只是采用此页面来学习前端技术。

​这个新闻页面可以分为标题和正文部分,我们先来看标题部分:

新浪新闻-标题排版

1). 第一部分,是一张图片,需要用到HTML中的图片标签 <img> 来实现。

2). 第二部分,是一个标题,需要用到HTML中的标题标签 <h1> ... <h6>来实现。

3). 第三部分,有两条水平分割线,需要用到HTML中的 <hr> 标签来定义水平分割线。

  • 图片标签:<img>
  1.  src:指定图像的url(绝对路径/相对路径)

           绝对路径:包括绝对磁盘路径和绝对网络路径

          相对路径:.      代表当前路径

                            ..     代表上一级路径

      2.width: 图像的宽度 (像素 / 百分比 , 相对于父元素的百分比)

      3.height: 图像的高度 (像素 / 百分比 , 相对于父元素的百分比)            

 提示:一般width 和 height 我们只会指定一个,另外一个会自动的等比例缩放。

  • 标题标签:<h1> - <h6>(数字越小,字体越大)
  • 水平线标签:<hr>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内容</title>
</head>
<body>
  
    <img src="./img/logo.png" alt="logo.png"> 新浪政务>正文

    <!-- 标题标签 h1~h6 -->
    <h1>内容</h1>

    <!-- 水平线标签 hr -->
    <hr>
    2023年07月23日 19:49 央视网
    <hr>
</body>
</html>

以上部分的代码已经能完成标题部分的大致框架,但是我们在浏览器运行代码之后会发现这段代码中的标题与原网页的标题字体颜色还有些差异,原网页中能点击跳转的超链接我们也还没有写,接下来我们对标题部分做一个完善。

新浪新闻-标题样式-标题颜色

要想改变标题颜色我们需要用到css,这些具体样式都是由css控制的,这里我们要对css引入方式有一些认识。

css引入方式:

  • 行内样式:写在标签的style属性中(不推荐)原因是内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用(常配合JS使用)。
  • 内部样式:写在style标签中(可以写在页面的任何位置,但通常约定写在head标签的style标签中)
  • 外部样式:写在一个单独的.css文件中(需要通过link标签在网页中引入,企业常用)

 具体有3种引入方式,语法如下表格所示:

名称语法描述示例
行内样式在标签内使用style属性,属性值是css属性键值对。<h1 style="xxx:xxx;">中国新闻网</h1>
内嵌样式定义<style>标签,在标签内部定义css样式。<style> h1 {...} </style>
外联样式定义<link>标签,通过href属性引入外部css文件<link rel="stylesheet" href="css/news.css">

 下面我们用css为标题附加颜色,里面例举了css的三种引入方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内容</title>

    <!-- CSS引入方式二: 内部样式 -->
    <style>
        h1 {
            /* 颜色:
                关键字表示  : 颜色英文
                rgb表示法:rgb(r,g,b)  取值范围0~255
                rgba表示法:rgba(r,g,b,a)  a代表透明度 取值范围0-1
                16进制表示法:#rrggbb 取值范围00~ff  例子:000000可以简写000
            */
            /* color: blue; */
            /* color: rgb(0, 0, 255); */
            /* color: rgba(0, 0, 255, 0.5); */
            color: #4d4f53;
        }

        span {
            color: grey;
        }
    </style>

    <!-- CSS引入方式三: 外部样式  -->
    <!-- <link rel="stylesheet" href="css/news.css"> -->
</head>

<body>
    <img src="./img/logo.png" alt="logo.png"> 新浪政务>正文

    <!-- CSS引入方式一: 行内样式-->
    <!-- <h1 style="color: red;">【内容</h1> -->

    <h1>内容</h1>

    <hr>

    <span>2023年07月23日 19:49</span> <span>央视网</span>
     
    <hr>


</body>

</html>

 这里总结一下css三种引入方式的优先级:

行内样式>内部样式(外部样式)[这两个谁后加载谁后加载谁的优先级高(就近原则)]

提示:按alt+a可以查看颜色的rgb表示,或者可以下载取色器 

 但是我们会发现在原网页中,标题部分的文字和日期的颜色是不一样的,但是上面的代码中css都用span标签把颜色改为了相同的灰色,但实际上这两段文字用的是不一样的颜色,那么如何更改日期的颜色呢?这就需要用到css选择器。

我们需要学习的3种选择器是元素选择器,class选择器,id选择器,语法以及作用如下:

1.元素(标签)选择器:

  • 选择器的名字必须是标签的名字

  • 作用:选择器中的样式会作用于所有同名的标签上

元素名称 {
    css样式名:css样式值;
}

例子如下:

 h1{
     color: red;
 }

2.类选择器:

  • 选择器的名字前面需要加上 .

  • 作用:选择器中的样式会作用于所有class的属性值和该名字一样的标签上,可以是多个

.class属性值 {
    css样式名:css样式值;
}

例子如下:

.cls{
     color: green;
 }

3.id选择器:

  • 选择器的名字前面需要加上#

  • 作用:选择器中的样式会作用于指定id的标签上,而且有且只有一个标签(由于id是唯一的)

#id属性值 {
    css样式名:css样式值;
}

例子如下:

#hid {
    color: blue;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内容</title>

    <!-- CSS引入方式二: 内部样式 -->
    <style>
        /* 
            CSS选择器优先级:
                id选择器 > 类选择器 > 元素选择器
        */

        /* CSS选择器一:元素选择器 */
        h1 {
            color: #4d4f53;
        }

        /* span {
            color: blue;
        } */

        /* CSS选择器二:类选择器 */
        .cls {
            color: grey;
            font-size: 12px;    /* 设置字体大小,单位px */
        }

        /* CSS选择器三:id选择器 */
        /* #timer {
            color: red;
        } */
    </style>

</head>

<body>
    <img src="./img/logo.png" alt="logo.png"> 新浪政务>正文

    <h1>内容</h1>

    <hr>

    <span class="cls" id="timer">2023年07月23日 19:49</span> <span>央视网</span>
     
    <hr>


</body>

</html>

 用了css选择器之后,就可以区分相同标签下文字的不同颜色。


接下来我们要给文字添加超链接

新浪新闻-标题样式-超链接

标签:<a href="..."  target=" ...">央视网</a>

属性:

        href:所添加的url

        target:指定在何处打开资源链接

              _self:默认值,在当前页面打开

              _blank:在空白页面打开

代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内容</title>
    <style>
        h1 {
            color: #4d4f53;
        }

        .cls {
            color: grey;
            font-size: 12px;
            /* 设置字体大小,单位px */
        }

        a {
            text-decoration: none;
            /* 删除超链接的下划线*/
            /* 设置文本的样式, none代表什么样式都没有 */
            color: black;
        }
    </style>

</head>

<body>
    <!-- 
        超链接标签: a
            href属性: 设置要跳转的资源地址
            target属性: 
                _self: 在原来的页面跳转 [默认值]
                _blank: 打开空白页跳转
     -->
    <img src="./img/logo.png" alt="logo.png">
    <a href="https://gov.sina.com.cn/" target="_self">新浪政务</a> >正文

    <h1>内容</h1>

    <hr>

    <span class="cls" id="timer">2023年07月23日 19:49</span>
    <span> <a href="https://news.cctv.com/2023/07/23/ARTI0KLN7plgs92l02aD0hTe230723.shtml" target="_blank">央视网</a>
    </span>

    <hr>


</body>

</html>

到这里,新浪新闻页面的标题部分就已经全部完成了

新浪新闻-正文排版

整个正文部分的排版,主要分为这么四个部分:

1). 视频 (当前这种新闻页面,可能也会存在音频)

2). 文字段落

3). 字体加粗

4). 图片

视频标签:<video>

  • src: 规定视频的url
  • controls:显示播放控件
  • width:播放器的宽度
  • height:播放器的高度

音频标签:<audio>

  • src:规定音频的url
  • controls:显示播放控件

段落标签

  • 换行标签: <br>

    • 注意: 在HTML页面中,我们在编辑器中通过回车实现的换行, 仅仅在文本编辑器中会看到换行效果, 浏览器是不会解析的, HTML中换行需要通过br标签

  • 段落标签: <p>

    • 如: <p> 这是一个段落 </p>

文本格式标签

效果标签标签(强调)
加粗bstrong
倾斜iem
下划线uins
删除线sdel

前面的标签 b、i、u、s 就仅仅是实现加粗、倾斜、下划线、删除线的效果,是没有强调语义的。 而后面的strong、em、ins、del在实现加粗、倾斜、下划线、删除线的效果的同时,还带有强调语义。

 实现正文部分的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内容</title>
    <style>
        h1 {
            color: #4d4f53;
        }

        .cls {
            color: grey;
            font-size: 12px;    /* 设置字体大小,单位px */
        }

        a {
            text-decoration: none;  /* 设置文本的样式, none代表什么样式都没有 */
            color: black;
        }

        p {
            text-indent: 30px;  /* 设置首行缩进 */
            line-height:25px;   /* 设置行高 */
        }

        #editor {
            text-align: right ; /* 设置文本居右 */
        }

        #keyword {
            text-align: left ; /* 设置文本居左 */
        }

    </style>

</head>

<body>
    <!-- 
        超链接标签: a
            href属性: 设置要跳转的资源地址
            target属性: 
                _self: 在原来的页面跳转 [默认值]
                _blank: 打开空白页跳转
     -->
    <img src="./img/logo.png" alt="logo.png"> <a href="https://gov.sina.com.cn/" target="_self">新浪政务</a> >正文

    <h1>【新思想引领新征程】推进美丽中国建设 谱写绿色发展新篇章</h1>

    <hr>

    <span class="cls" id="timer">2023年07月23日 19:49</span> <span> <a href="https://news.cctv.com/2023/07/23/ARTI0KLN7plgs92l02aD0hTe230723.shtml" target="_blank">央视网</a> </span>
     
    <hr>

    <!-- 正文 -->
    <!-- 视频标签 video 
        src: 设置视频资源路径
        controls: 播放控件 [注意: 当值和key一样的时候,可以省略值]
        width: 设置宽度
        height: 设置高度
    -->
    <video src="./video/news.mp4" controls width="950px"></video>

    <!-- 音频标签audio
        src: 设置视频资源路径
        controls: 播放控件 [注意: 当值和key一样的时候,可以省略值]
    -->
    <!-- <audio src="./audio/news.mp3" controls></audio> -->

    <!-- 换行标签 br -->
    <!-- <br>
    <br> -->

    <!-- 段落标签p -->
    <!-- 加粗: b /  strong -->
    <p>
        <strong>央视网消息</strong>内容
    </p>

    <img src="img/1.jpg">

    <p>
        内容
    </p>
    <p>
        内容
    </p>

    <img src="img/2.jpg">

    <p>
      内容
    </p>

    <img src="img/3.jpg">

    <p>
       内容
    </p>

    <img src="img/4.jpg">

    <p>
       内容
    <p id="editor">
        责任编辑:王树淼 SN242
    </p>

    <!-- &nbsp; 空格符 -->
    <span id="keyword">
        <b>关键字</b> : 美丽中国&nbsp;&nbsp;绿色发展&nbsp;&nbsp;新篇章&nbsp;&nbsp;新征程
    </span>

</body>

</html>

注意:在HTML页面中无论输入了多少个空格,最多只会显示一个。可以使用空格占位符(&nbsp;)来生成空格,如果需要多个空格,就使用多次占位符。

 其他的一些占位符:

显示结果描述占位符
 空格&nbsp;
<小于号&lt;
>大于号&gt;
&和号&amp;
"引号&quot;
'撇号&apos;

 目前,新闻页面的基本排版,我们都已经完成了,但是,大家会看到,无论是标题部分,还是正文部分,都是铺满了整个浏览器。 而我们再来看看新浪新闻的原始页面,我们会看到新闻网页内容都是居中展示的,左边、右边都是一定的边距的。


新浪新闻-页面布局

盒子模型

布局标签

  • 布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。

  • 标签:<div> <span>

  • 特点:

    • div标签:

      • 一行只显示一个(独占一行)

      • 宽度默认是父元素的宽度,高度默认由内容撑开

      • 可以设置宽高(width、height)

    • span标签:

      • 一行可以显示多个

      • 宽度和高度默认由内容撑开

      • 不可以设置宽高(width、height)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>【新思想引领新征程】推进美丽中国建设 谱写绿色发展新篇章</title>
    <style>
        h1 {
            color: #4d4f53;
        }

        .cls {
            color: grey;
            font-size: 12px;    /* 设置字体大小,单位px */
        }

        a {
            text-decoration: none;  /* 设置文本的样式, none代表什么样式都没有 */
            color: black;
        }

        p {
            text-indent: 30px;  /* 设置首行缩进 */
            line-height:25px;   /* 设置行高 */
        }

        #editor {
            text-align: right ; /* 设置文本居右 */
        }

        #keyword {
            text-align: left ; /* 设置文本居左 */
        }

        #div {
            /* 外边距 */
            width: 60%;
            /* margin: 0 20% 0 20%;     */
            /* margin: 0 20%;     */
            margin: auto;   /* auto 会自动计算距离,居中展示 */  
        }
    </style>

</head>

<body>
    <div id="div">
        <img src="./img/logo.png" alt="logo.png"> <a href="https://gov.sina.com.cn/" target="_self">新浪政务</a> >正文

        <h1>内容</h1>

        <hr>

        <span class="cls" id="timer">2023年07月23日 19:49</span> <span> <a href="https://news.cctv.com/2023/07/23/ARTI0KLN7plgs92l02aD0hTe230723.shtml" target="_blank">央视网</a> </span>
        
        <hr>

        <video src="./video/news.mp4" controls width="950px"></video>
        <p>
            <strong>央视网消息</strong>内容
        </p>

        <img src="img/1.jpg">

        <p>
           内容
        </p>
        <p>
           内容
        </p>

        <img src="img/2.jpg">

        <p>
            内容
        </p>

        <img src="img/3.jpg">

        <p>内容
        </p>

        <img src="img/4.jpg">

        <p>
            内容
        </p>
        <p id="editor">
            责任编辑:王树淼 SN242
        </p>

        <!-- &nbsp; 空格符 -->
        <span id="keyword">
            <b>关键字</b> : 美丽中国&nbsp;&nbsp;绿色发展&nbsp;&nbsp;新篇章&nbsp;&nbsp;新征程
        </span>
    </div>

</body>

</html>

把新闻页面所有的内容都放到一个盒子中,用div标签包装起来,然后在head标签的style中用css内部样式的id选择器为整个页面设置width(宽度)和margin(外边距)


总结

新浪新闻页面基本把常见的html和css网页制作的内容都包含了,非常适合新手小白用来练手,后续我会继续分享我的学习笔记与具体案例,欢迎各位大神批评指正。

 

软件名称: 智睿政府网站管理系统 英文简称: ZhiRui_Government 软件版本: Ver 5.7.0 智睿政府网站管理系统: 1、定位政府机关单位开发,政府机关的对外窗口,建立政府门户网站为政府电子政务对外服务窗口和发展,有利于各种信息和资源的整合,为政府与社会公众之间加强联系和沟通的有效载体。 2、智睿政府网站管理系统针增强了对性和易用性,适合政府,机关,市县区级各政府使用。 3、智睿政府网站管理系统具有强大的系统功能,拥有公文签收,投票调查,视频展示、文章/新闻、图片/风光、资源下载、政务要闻、网上办事、问答/留言、友情链接、广告系统、自定义模型、等众多丰富的功能模型。 4、个人站长完全免费,用户可在官网下载,免费使用,免费升级,而不需要支付任何费用,请仔细查看用户许可协议,企业事业单位、政务机关必须使用商业版。 网站简介 网站首页 - 预设政务要闻 网上办事 政务公开 城市风光 资源下载 联系我们 网上问政 政府概况 - 南都概况,自然资源,南都历史,南都美誉,行政区划 政务新闻 - 政府通告,政府会议,政府新闻,领导活动 网上办事 - 个人办事,企业办事,政务机关 资源下载 - 教学日常、优秀课件、优秀教案、办公软件 政务公开 - 城市美景,城市规划,城市名人 视频新闻 - 可以自由上传切换FLV和MPG格式新闻视频 网上问政 - 网上问政,受理单位,投诉类型 公文签收 - 会员签收,签收审批,单位局管理 内容公文 20130318更新: 1、首页模块布局调整 2、扩展模块标签加载显示 20130218更新: 1、全面升级Kindetior编辑器 2、编辑兼容火狐,360浏览器器 20130117更新: 1、新增管理登陆日志 2、底部显示模块调整 3、登陆校验审核加载 20121218更新: 1、系统模块附件上传加载 2、关于我们显示优化 3、图片模块CSS优化显示 20120809更新 1、首页模块CSS优化显示 2、管理登陆校验权限显示 3、公文附件上传加载 20120408更新 1、修正问政模块日期搜索 2、修复风景名胜编辑显示 3、安全注入过滤修正 20120302更新 1、关于我们的框架修复 2、管理权限多级划分 3、顶部背景图调整 20120213更新 1、系统的后台安全校验 2、后台权限安全的分配 3、数据模块优化 201100906更新 1、整站界面全新改版 2、加载公文签收模块 3、加载投票调查模块 4、新增视频展播模块 特点和优势 1. 基于B/S架构,通过本地电脑、局域网、互联网皆可使用,使得企业的管理与业务不受地域限制 2. 客户端无需安装专用软件,使用浏览器即可实现异地、实时业务办理 3. 软件完全独立安装在用户自己的电脑或是服务器上,提供数据备份工具,数据资料彻底安全 4. 管理权限分配灵活严谨,可以设置操作人员不同级别的操作权限,避免越权操作,数据相互保密 5. 账号不限,可以任意添加、修改、删除用户帐号 6. 使用期限不限,一次购买,终身使用 7. 安装简单,使用简捷方便,技术支持使您更快熟悉软件功能 运行环境:Asp + IIs6 + Access + Windows2003 程序构造: ASP + Access AJAX + XML + DIV + CSS + HTML
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值