门户网站构建CSS框架的规则

当我们构建门户网站时,CSS框架是必不可少的,因为它能够使网站的样式表现更为一致和美观。下面是建立门户网站 CSS 框架的规则和示例说明。

规则

  1. 样式重置: 不同浏览器的默认样式各不相同,为了让不同页面在不同浏览器上展示相同的外观,首先需要进行样式重置。
  2. BEM 命名规范:使用 BEM 命名约定可以让代码更为清晰、易于理解和维护。BEM 规范是由块 (block)、元素 (element) 和修饰符 (modifier) 三部分组成,格式为 .block__element--modifier
  3. 媒体查询:当网站在不同分辨率下的显示效果不同,为了避免出现页面排版混乱的情况,需要使用最小宽度媒体查询,以便根据屏幕宽度应用 CSS 样式。
  4. 样式表压缩:在网站部署前需要对样式表进行压缩,以减小文件大小并加速页面加载速度。

示例

下面是两个示例,以帮助更好的理解规则。

示例 1

在门户网站上,有一个标题栏,包含两个链接:登录和注册。根据以上规则,可以按照如下步骤编写代码。

  1. 编写 HTML 代码,使用 BEM 命名约定。
<div class="header">
   <a class="header__login" href="#">登录</a>
   <a class="header__register" href="#">注册</a>
</div>
  1. 编写 CSS 样式,应用样式重置、媒体查询和样式表压缩。
/* 样式重置 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
}

/* BEM 命名规范 */
.header {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   height: 50px;
   background-color: #333;
   color: #fff;
}

.header__login, .header__register {
   text-decoration: none;
   color: inherit;
   margin-right: 20px;
}

/* 媒体查询 */
@media screen and (max-width: 768px) {
   .header {
      justify-content: center;
   }
}

/* 样式表压缩 */
.header{display:flex;justify-content:flex-end;align-items:center;height:50px;background-color:#333;color:#fff}.header__login,.header__register{text-decoration:none;color:inherit;margin-right:20px}.@media screen and (max-width:768px){.header{justify-content:center}}

示例 2

在门户网站上还有一个分页器,根据以上规则,可以按照如下步骤编写代码。

  1. 编写 HTML 代码,使用 BEM 命名约定。
<div class="pagination">
  <a class="pagination__link pagination__link--prev" href="#">上一页</a>
  <a class="pagination__link pagination__link--number" href="#">1</a>
  <a class="pagination__link pagination__link--number pagination__link--active" href="#">2</a>
  <a class="pagination__link pagination__link--number" href="#">3</a>
  <a class="pagination__link pagination__link--next" href="#">下一页</a>
</div>
  1. 编写 CSS 样式,应用样式重置、BEM命名、媒体查询和样式表压缩。
/* 样式重置 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
}

/* BEM 命名规范 */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination__link {
  display: inline-block;
  text-decoration: none;
  color: #333;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-right: 10px;
}

.pagination__link--prev,
.pagination__link--next {
  background-color: #f4f4f4;
  color: #333;
  font-weight: bold;
}

.pagination__link--number {
  background-color: #fff;
}

.pagination__link--active {
  background-color: #333;
  color: #fff;
}

/* 媒体查询 */
@media screen and (max-width: 768px) {
  .pagination {
    flex-direction: column;
    align-items: flex-start;
  }

  .pagination__link {
    margin-bottom: 10px;
  }
}

/* 样式表压缩 */
.pagination{display:flex;justify-content:center;align-items:center}.pagination__link{display:inline-block;text-decoration:none;color:#333;padding:6px 12px;border:1px solid #ccc;border-radius:4px;margin-right:10px}.pagination__link--prev,.pagination__link--next{background-color:#f4f4f4;color:#333;font-weight:bold}.pagination__link--number{background-color:#fff}.pagination__link--active{background-color:#333;color:#fff}@media screen and (max-width:768px){.pagination{flex-direction:column;align-items:flex-start}.pagination__link{margin-bottom:10px}}

这些规则和示例都是建立门户网站 CSS 框架的基础,当您充分理解并且能够熟练运用它们时,就能够更加高效和优雅地设计网站了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:门户网站构建CSS框架的规则 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理

    下面是关于“基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理”的完整攻略: BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理 框架总览 BootStrap Metronic是一个基于Bootstrap的响应式管理后台开发框架,提供了丰富的UI组件和功能模块,可以帮助我们快速地开发出高质量…

    css 2023年6月9日
    00
  • Bootstrap图片轮播组件Carousel使用方法详解

    Bootstrap图片轮播组件Carousel使用方法详解 Bootstrap是一款目前非常流行的前端开发框架,其中的Carousel(图片轮播)组件可以用于网页展示轮播图或广告图等。接下来详细讲述如何使用Bootstrap中的Carousel组件,包含从起步到实现的完整攻略。 第一步:在HTML文件中引入Bootstrap 首先需要在HTML文件中引入Bo…

    css 2023年6月11日
    00
  • 使用css sprites来优化你的网站在Retina屏幕下显示实现原理与代码

    使用 CSS Sprites 是一种优化网页性能和加快图片加载速度的高效方法。针对 Retina 屏幕,可以使用多倍图来显示更加清晰的图片,但同时也会增加页面的加载时间,因此使用 CSS Sprites 可以解决这个问题。 CSS Sprites 基本原理 CSS Sprites(CSS 雪碧图)指的是将多个小图片合并成一个大的图片,并用 CSS 技术实现将…

    css 2023年6月10日
    00
  • CSS框架开发指南

    CSS框架是一种用于快速构建网站和应用程序的工具,它提供了一组预定义的CSS样式和布局,可以帮助开发人员快速创建具有一致外观和感觉的网站。本攻略将介绍如何开发一个CSS框架,包括框架的设计、实现和使用。同时,本攻略将提供两个示例,以说明如何使用CSS框架来构建网站。 设计CSS框架 在设计CSS框架之前,需要考虑以下几个方面: 目标受众:框架的目标受众是谁?…

    css 2023年5月18日
    00
  • JavaScript实现班级抽签小程序

    我会详细讲解“JavaScript实现班级抽签小程序”的完整攻略,以下是步骤: 1. 设计页面 在HTML文件中,先设计出一个包含班级所有学生名字的列表,以及一个按钮用于触发抽签事件。示例代码如下: <body> <h1>班级抽签</h1> <h2>名单</h2> <ul id="n…

    css 2023年6月10日
    00
  • javascript自适应宽度的瀑布流实现思路

    Javascript自适应宽度的瀑布流实现思路,可以按照以下步骤进行: 1. 按照需求定义瀑布流列数和间距 在实现瀑布流布局之前,需要先定义好瀑布流的列数和列之间的宽度间隔,这个可以根据实际需求来确定,例如: .waterfall { display: flex; flex-wrap: wrap; margin: 0 -10px; } .waterfall …

    css 2023年6月10日
    00
  • 浅谈css3新单位vw、vh、vmin、vmax的使用详解

    浅谈CSS3新单位vw、vh、vmin、vmax的使用详解 CSS3新增了四个相对于窗口尺寸的单位:vw、vh、vmin、vmax。这些单位可以帮助我们更好地控制和布局我们的网页元素。下面就详细介绍一下每种单位的用法和示例。 vw vw表示相对于视口宽度的百分比,1vw等于视口宽度的1%。使用vw可以让元素的尺寸随着视口的变化而变化。例如,想将一个元素的宽度…

    css 2023年6月10日
    00
  • css中提升优先级属性!important的用法总结

    下面我就来详细讲解“css中提升优先级属性!important的用法总结”的完整攻略。 什么是!important 在CSS中,有时候我们需要对某些属性设置比较高的优先级,以便覆盖掉其他声明。这时候我们便可以使用!important来提升优先级。 !important是CSS中的一个规则,可以用来强制覆盖其他声明,使某个属性的优先级变得非常高,以达到特定的效…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部