编程笔记 html5&css&js 045 网页布局

这篇具有很好参考价值的文章主要介绍了编程笔记 html5&css&js 045 网页布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域。

一、网页布局

网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域。
编程笔记 html5&css&js 045 网页布局,# HTML&CSS&JS,html5,javascript,少年工程师,css3

二、头部区域

头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的 logo:

.header {
  background-color: #F1F1F1;
  text-align: center;
  padding: 20px;
}

三、菜单导航区域

菜单导航条包含了一些链接,可以引导用户浏览其他页面:

/* 导航条 */
.topnav {
  overflow: hidden;
  background-color: #333;
}
 
/* 导航链接 */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
/* 链接 - 修改颜色 */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

三、内容区域

内容区域一般有三种形式:
1 列:一般用于移动端
2 列:一般用于平板设备
3 列:一般用于 PC 桌面设备
创建一个 3 列布局,在小的屏幕上将会变成 1 列布局(响应式):

/* 创建三个相等的列 */
.column {
  float: left;
  width: 33.33%;
}
 /* 列后清除浮动 */
.row:after {
  content: "";
  display: table;
  clear: both;
}
 /* 响应式布局 - 小于 600 px 时改为上下布局 */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  }
}

要设置两列可以设置 width 为 50%。创建 4 列可以设置为 25%。

四、不相等的列

不相等的列一般是在中间部分设置内容区域,这块也是最大最主要的,左右两次侧可以作为一些导航等相关内容,这三列加起来的宽度是 100%。

.column {
  float: left;
}
/* 左右侧栏的宽度 */
.column.side {
  width: 25%;
}
/* 中间列宽度 */
.column.middle {
  width: 50%;
}
/* 响应式布局 - 宽度小于600px时设置上下布局 */
@media screen and (max-width: 600px) {
  .column.side, .column.middle {
    width: 100%;
  }
}

五、底部区域

底部区域在网页的最下方,一般包含版权信息和联系方式等。

.footer {
  background-color: #F1F1F1;
  text-align: center;
  padding: 10px;
}

六、box-sizing

CSS 中的 box-sizing 属性定义了 user agent 应该如何计算一个元素的总宽度和总高度。
在 CSS 盒子模型的默认定义里,你对一个元素所设置的 width 与 height 只会应用到这个元素的内容区。如果这个元素有任何的 border 或 padding ,绘制到屏幕上时的盒子宽度和高度会加上设置的边框和内边距值。这意味着当你调整一个元素的宽度和高度时需要时刻注意到这个元素的边框和内边距。当我们实现响应式布局时,这个特点尤其烦人。

box-sizing 属性可以被用来调整这些表现:

content-box 是默认值。如果你设置一个元素的宽为 100px,那么这个元素的内容区会有 100px 宽,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。
border-box 告诉浏览器:你想要设置的边框和内边距的值是包含在 width 内的。也就是说,如果你将一个元素的 width 设为 100px,那么这 100px 会包含它的 border 和 padding,内容区的实际宽度是 width 减去 (border + padding) 的值。大多数情况下,这使得我们更容易地设定一个元素的宽高。
译者注: border-box不包含margin
备注: 对于新的 web 站点,你可能希望首先将 box-sizing 设置为 border-box,如下所示:

* {
  box-sizing: border-box;
}

这使得处理元素大小的工作变得容易得多,并且通常消除了在布局内容时可能遇到的许多陷阱。然而,在某些情况下,你应谨慎使用这个属性。例如:你正在编写一个将由其他人使用的共享组件库,如果他们网站的其余部分没有设置此值,他们可能会发现很难使用你的组件库。

box-sizing 属性被指定为下面列表中的关键字。

属性值

content-box

默认值,标准盒子模型。width 与 height 只包括内容的宽和高,不包括边框border),内边距(padding),外边距(margin)。注意:内边距、边框和外边距都在这个盒子的外部。比如说,.box {width: 350px; border: 10px solid black;} 在浏览器中的渲染的实际宽度将是 370px。
尺寸计算公式:
width = 内容的宽度
height = 内容的高度
宽度和高度的计算值都不包含内容的边框(border)和内边距(padding)。

border-box

width 和 height 属性包括内容,内边距和边框,但不包括外边距。这是当文档处于 Quirks 模式 时 Internet Explorer 使用的盒模型。注意,填充和边框将在盒子内 , 例如, .box {width: 350px; border: 10px solid black;} 导致在浏览器中呈现的宽度为 350px 的盒子。内容框不能为负,并且被分配到 0,使得不可能使用 border-box 使元素消失。
尺寸计算公式:
width = border + padding + 内容的宽度
height = border + padding + 内容的高度

六、响应式网页布局

响应式页面,页面的布局会根据屏幕的大小来调整。

<!DOCTYPE html>
<html lang="zh-cn">
   <head>
      <title>网页布局 编程笔记 html5&css&js</title>
      <meta charset="utf-8" />
      <style>
         * {
            box-sizing: border-box;
         }
         body {
            font-family: Arial;
            padding: 10px;
            background: #f1f1f1;
         }
         /* 头部标题 */
         .header {
            padding: 30px;
            text-align: center;
            background: white;
         }
         .header h1 {
            font-size: 50px;
         }
         /* 导航条 */
         .topnav {
            overflow: hidden;
            background-color: #333;
         }
         /* 导航条链接 */
         .topnav a {
            float: left;
            display: block;
            color: #f2f2f2;
            text-align: center;
            padding: 14px 16px;
            text-decoration: none;
         }
         /* 链接颜色修改 */
         .topnav a:hover {
            background-color: #ddd;
            color: black;
         }
         /* 创建两列 */
         /* Left column */
         .leftcolumn {
            float: left;
            width: 75%;
         }
         /* 右侧栏 */
         .rightcolumn {
            float: left;
            width: 25%;
            background-color: #f1f1f1;
            padding-left: 20px;
         }
         /* 图像部分 */
         .fakeimg {
            background-color: #aaa;
            width: 100%;
            padding: 20px;
         }
         /* 文章卡片效果 */
         .card {
            background-color: white;
            padding: 20px;
            margin-top: 20px;
         }
         /* 列后面清除浮动 */
         .row:after {
            content: "";
            display: table;
            clear: both;
         }
         /* 底部 */
         .footer {
            padding: 20px;
            text-align: center;
            background: #ddd;
            margin-top: 20px;
         }
         /* 响应式布局 - 屏幕尺寸小于 800px 时,两列布局改为上下布局 */
         @media screen and (max-width: 800px) {
            .leftcolumn,
            .rightcolumn {
               width: 100%;
               padding: 0;
            }
         }
         /* 响应式布局 -屏幕尺寸小于 400px 时,导航等布局改为上下布局 */
         @media screen and (max-width: 400px) {
            .topnav a {
               float: none;
               width: 100%;
            }
         }
      </style>
   </head>
   <body>
      <div class="header">
         <h1>明月看潮生的网页</h1>
         <p>重置浏览器大小查看效果。</p>
      </div>
      <div class="topnav">
         <a href="#">链接1</a>
         <a href="#">链接2</a>
         <a href="#">链接3</a>
         <a href="#" style="float: right">链接4</a>
      </div>
      <div class="row">
         <div class="leftcolumn">
            <div class="card">
               <h2>文章标题</h2>
               <h5>2019 年 4 月 17日</h5>
               <div class="fakeimg" style="height: 200px">图片</div>
               <p>一些文本...</p>
               <p>少年软件工程师。不再是一个启蒙用过程,直接向着目标前进!</p>
            </div>
            <div class="card">
               <h2>文章标题</h2>
               <h5>2019 年 4 月 17日</h5>
               <div class="fakeimg" style="height: 200px">图片</div>
               <p>一些文本...</p>
               <p>少年软件工程师。不再是一个启蒙用过程,直接向着目标前进!</p>
            </div>
         </div>
         <div class="rightcolumn">
            <div class="card">
               <h2>关于我</h2>
               <div class="fakeimg" style="height: 100px">图片</div>
               <p>关于我的一些信息..</p>
            </div>
            <div class="card">
               <h3>热门文章</h3>
               <div class="fakeimg"><p>图片</p></div>
               <div class="fakeimg"><p>图片</p></div>
               <div class="fakeimg"><p>图片</p></div>
            </div>
            <div class="card">
               <h3>关注我</h3>
               <p>一些文本...</p>
            </div>
         </div>
      </div>
      <div class="footer">
         <h2>底部区域</h2>
      </div>
   </body>
</html>

小结

网页布局是设计网页必做之事,需要熟练掌握。文章来源地址https://www.toymoban.com/news/detail-804166.html

到了这里,关于编程笔记 html5&css&js 045 网页布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编程笔记 html5&css&js 038 CSS背景

    背景在样式当中首当其冲,一开始我就讲这背景很重要,背景过亮伤眼是一个重要问题,合理配置背景色,改善感观效果,也是网页设计的一件重要的事。CSS 背景属性用于定义元素的背景效果。 这些属性都和背景有关。 background-color background-image background-repeat background-attach

    2024年01月16日
    浏览(59)
  • 编程笔记 html5&css&js 036 CSS概述

    CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。通过使用 CSS 我们可以大大提升网页开发的工作效率!在我们的 CSS 教程中,您会学到如何使用 CSS 同时控制多重

    2024年01月22日
    浏览(54)
  • 编程笔记 html5&css&js 026 HTML输入类型(2/2)

    本节介绍HTML输入类型。也就是 input 元素 type 属性的可以使用的值。这在桌面程序中是通过不同的控件实现的。 input type=\\\"date\\\" 用于应该包含日期的输入字段。 根据浏览器支持,日期选择器会出现输入字段中。 input type=\\\"color\\\" 用于应该包含颜色的输入字段。 用于应该包含一定范

    2024年01月24日
    浏览(48)
  • 编程笔记 html5&css&js 041 CSS边框属性

    盒子是由四周的边框组成,边框的属性就构成了盒子的大部分样式。 CSS border 属性允许您指定元素边框的样式、宽度和颜色。 border-style 属性指定要显示的边框类型。 允许以下值: border-style 属性可以设置一到四个值(用于上边框、右边框、下边框和左边框)。 注意:除非设

    2024年01月19日
    浏览(49)
  • 编程笔记 html5&css&js 054 CSS默认值

    css属性在没有设置的时候,也是有值的,这就是默认值。列在下面,方便查看。 元素 默认的 CSS 值 a:link color: (internal value); text-decoration: underline; cursor: auto; a:visited color: (internal value); text-decoration: underline; cursor: auto; a:link:active color: (internal value); a:visited:active color: (internal value

    2024年01月25日
    浏览(43)
  • 编程笔记 html5&css&js 053 CSS伪元素

    CSS 伪元素用于设置元素指定部分的样式。 什么是伪元素? 设置元素的首字母、首行的样式 在元素的内容之前或之后插入内容 语法 伪元素的语法: ::first-line 伪元素用于向文本的首行添加特殊样式。 下面的例子为所有 p 元素中的首行添加样式: ::first-line 伪元素只能应用于

    2024年01月23日
    浏览(78)
  • 编程笔记 html5&css&js 043 CSS尺寸属性

    块的宽度和高度,决定了块的大小,也就是尺寸。 height 和 width 属性用于设置元素的高度和宽度。height 和 width 属性不包括内边距、边框或外边距。它设置的是元素内边距、边框以及外边距内的区域的高度或宽度。 height 和 width 属性可设置如下值: auto - 默认。浏览器计算高度

    2024年01月21日
    浏览(53)
  • 编程笔记 html5&css&js 055 CSS颜色表

    重新做了颜色表,前面讲HTML时已经有了一个,重新整理了一个,方便查用。将代码复制本地使用。这个内容既用于颜色的了解,也是一个网页的综合练习。将下面内容复制,弄懂每个内容,并按照自己喜好进行改进。 颜色的合理使用是网页设计效果的基本保证。 使用颜色值

    2024年01月25日
    浏览(54)
  • 编程笔记 html5&css&js 039 CSS背景示例

    网页上只有三个水平并列大小相同的的DIV,大小为300p*200,如何使用CSS让它们整体水平和垂直都居中,并使用不同的背景色? 要在网页上实现三个水平并列且大小相同的div元素,每个尺寸为300像素宽和200像素高,整体居中显示且具有不同的背景颜色,你可以通过以下CSS来完成:

    2024年01月20日
    浏览(57)
  • 编程笔记 html5&css&js 037 CSS选择器

    CSS用于处理网页的样式,就像一个人的装扮,拿来一个衣物或饰品,你得知道穿着在什么部位,不能把袜子当成口罩,CSS里面是一些属性和值,用在网页的哪个地方,就叫选择器。 CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。 我们可以将 CSS 选择器分为五类:

    2024年01月21日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包