四、推荐base.css(可能部分修改)

本文深入探讨了Web前端开发的高效实践方法,包括CSS样式规范、文字排版技巧、定位策略、长度与高度设置、边距与内边距应用等核心内容,旨在提升开发者在实际项目中的代码质量和开发效率。

学习《编写高质量代码--Web前端开发修炼之道》


/* CSS Document */
/*css reset*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{ border-collapse:collapse;border-spacing:0;}
fieldest,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{ font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
p:before,q:after{content:''}
abbr,acronym{border:0;}


/*文字排版*/
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f20{font-size:20px;}
.fb{font-weight:bold;}
.fn{font-weight:normal;}
.t2{text-indent:2em;}
.lh150{line-height:150%;}
.lh180{line-height:180%;}
.lh200{line-height:200%;}
.unl{text-decoration:underline;}
.no_un{text-decoration:none;}


/*定位*/
.tl{text-align:left;}
.tc{text-align:center;}
.tr{text-align:right;}
.bc{margin-left:auto;margin-right:auto;}/*全称是“。blockCenter”,作用为使块级元素居中。直接试用她是不能使块级元素居中的,还需设定宽度。*/
.fl{float:left;display:inline;}/*设置display:inline 为了解决IE6的双外边距bug。在IE6下,如果对元素设置了浮动,同时设置了margin-left或者margin-right,margin值会加倍,如设置margin-left:10px在IE6下会显示为margin-left:20px。解决办法就是设置display:inline。*/
.fr{float:right;display:inline;}
.cb{clear:both;}
.cl{clear:left;}
.cr{clear:right;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-block;}/*用于在父容器直接清除子元素浮动。*/
*html .clearfix{height:1%;}/*只在IE6中生效*/
.Clearfix{display:block;}
.vm{vertical-align:middle;}
.pr{position:relative;}
.pa{position:relative;}
.abs-right{position:absolute;right:0;}
.zoom{zoom:1;}/*(IE特有属性)触发hasLayout*/
.hidden{visibility:hidden;}
.none{display:none;}


/*长度高度*/
.w10{width:10px;}
.w20{width:20px;}
.w30{width:30px;}
.w40{width:40px;}
.w50{width:50px;}
.w60{width:60px;}
.w70{width:70px;}
.w80{width:80px;}
.w90{width:90px;}
.w100{width:100px;}
.w200{width:200px;}
.w250{width:250px;}
.w300{width:300px;}
.w400{width:400px;}
.w500{width:500px;}
.w600{width:600px;}
.w700{width:700px;}
.w800{width:800px;}
.w{width:100%;}
.h50{height:50px;}
.h80{height:80px;}
.h100{height:100px;}
.h200{height:200px;}
.h{height:100%;}


/*边距*/
.m10{margin:10px;}
.m15{margin:15px;}
.m30{margin:30px;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt50{margin-top:50px;}
.mt100{margin-top:100px;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml50{margin-left:50px;}
.ml100{margin-left:100px;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr50{margin-right:50px;}
.mr100{margin-right:100px;}


.p10{padding:10px;}
.p15{padding:15px;}
.p30{padding:30px;}
.pt5{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}
.pt50{padding-top:50px;}
.pt100{padding-top:100px;}
.pb5{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb50{padding-bottom:50px;}
.pb100{padding-bottom:100px;}
.pl5{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl50{padding-left:50px;}
.pl100{padding-left:100px;}
.pr5{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;}
.pr20{padding-right:20px;}
.pr30{padding-right:30px;}
.pr50{padding-right:50px;}
.pr100{padding-right:100px;}



二、具体任务(基于上周 4 个 HTML 页面:index.html、case.html、risk.html、profile.html) 任务 1:@import与link区别实践(20 分钟) 任务内容 创建多外部 CSS 文件,分别用link和@import引入,观察加载差异,结合学号后三位设置基础样式。 操作步骤 1. 创建 CSS 文件: ◦ 新建base.css:定义平台统一样式(如body的字体"Microsoft YaHei", sans-serif); ◦ 新建color.css:用学号后三位(记为S1S2S3,如学号后三位为 123,则S1=1、S2=2、S3=3)设置颜色: /* color.css 个性化样式 */ body { color: #S1S2S3; /* 如123则为#123,若S1=0则为#0S2S3(例056→#056) */ } h1 { color: #S1+50S2+30S3+20; /* 数值超255则取255,如S1=220→220+50=270→取255 */ } ◦ 新建layout.css:预留盒模型相关样式(后续任务 3 使用)。 引入方式实现:(引入路径:根据同学项目实际情况,用相对路径) ◦ 在index.html中,用link标签引入base.css和color.css: <link rel="stylesheet" href="base.css"> <link rel="stylesheet" href="color.css"> ◦ 在case.html中,用@import在内部样式表中引入base.css和layout.css: <style> @import url("base.css"); @import url("layout.css"); </style> 观察记录:打开浏览器开发者工具(F12),在「Network」面板查看两种方式的 CSS 加载顺序,记录差异(如link并行加载、@import依赖加载)。 个性化要求 所有颜色值必须包含学号后三位衍生值,禁止直接使用固定色值(如#333)。 任务 2:选择器与引用方式优先级验证(25 分钟) 任务内容 覆盖 5 类选择器(通配、标签、类、id、父子)与 3 种引用方式,测试优先级,用学号后三位标记样式唯一性。 操作步骤 1. 定义选择器样式(在base.css中补充,结合学号后三位S1S2S3): /* 1. 通配选择器 */ * { margin: 0; padding: S1px; /* 如S1=5→padding:5px */ } /* 2. 标签选择器 */ p { font-size: 14px; color: #S1S2S3; } /* 3. 类选择器 */ .text-normal { font-size: 16px; color: #S1+20S2+30S3+10; } /* 4. id选择器 */ #risk-title { font-size: 18px; color: #S1+40S2+50S3+20; } /* 5. 父子选择器 */ div .risk-item { font-size: 15px; color: #S1+60S2+70S3+30; } 1. 叠加引用方式: ◦ 外部样式表:上述base.css(已通过任务 1 引入); ◦ 内部样式表:在risk.html的<style>中重定义.text-normal: <style> .text-normal { color: #S1+80S2+90S3+40; } /* 与外部类选择器对比 */ </style> ◦ 行内样式:在risk.html的某个<p>标签中添加行内样式: <p style="color: #S1+100S2+110S3+50;">测试行内样式优先级</p> 测试记录:在浏览器中打开risk.html,观察不同选择器 + 引用方式的文字颜色 / 字体大小,填写下表(实验记录必含): 选择器类型 引用方式 定义的样式值(含学号后三位) 浏览器实际显示效果 优先级排序(0 最低) 通配选择器 外部 padding:S1px 标签选择器 外部 color:#S1S2S3 类选择器 外部 / 内部 外部:#S1+20…;内部:#S1+80… id 选择器 外部 color:#S1+40… 父子选择器 外部 color:#S1+60… 类选择器 行内 color:#S1+100… 关键提示 优先级规则参考:行内样式(1000)>id 选择器(100)> 类 / 伪类 / 属性选择器(10)> 标签 / 伪元素选择器(1)> 通配选择器(0);引用方式优先级:行内 > 内部 > 外部(同选择器权重时)。 任务 3:伪类应用(link/visited/hover/active)(20 分钟) 任务内容 在导航链接中应用 4 个链接伪类,验证 “LVHA”(link→visited→hover→active)顺序的重要性,结合学号后三位设置颜色。 操作步骤 1.base.css中定义伪类样式(按正确顺序): /* 学号后三位S1S2S3 */ a:link { color: #S1S2S3; text-decoration: none; } /* 未访问 */ a:visited { color: #S1+30S2+40S3+20; } /* 已访问 */ a:hover { color: #S1+60S2+70S3+40; text-decoration: underline; } /* 鼠标悬浮 */ a:active { color: #S1+90S2+100S3+60; } /* 点击瞬间 */
最新发布
10-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值