做网站好还是阿里巴巴网站设计与开发实验报告

pingmian/2025/10/13 10:43:53/文章来源:
做网站好还是阿里巴巴,网站设计与开发实验报告,免费网站推广软件下载,wordpress演示版本文翻译自Danny Markov 的20-Tips-For-Writing-Modern-CSS一文。 本文归纳于笔者的Web Frontend Introduction And Best Practices:前端入门与最佳实践中CSS入门与最佳实践系列#xff0c;其他的关于CSS样式指南的还有提升你的CSS姿势、Facebook里是怎样提升CSS代码质量的。本… 本文翻译自Danny Markov 的20-Tips-For-Writing-Modern-CSS一文。 本文归纳于笔者的Web Frontend Introduction And Best Practices:前端入门与最佳实践中CSS入门与最佳实践系列其他的关于CSS样式指南的还有提升你的CSS姿势、Facebook里是怎样提升CSS代码质量的。本文更偏向于样式使用技巧前两篇偏向于代码风格与规范。 明白何谓Margin Collapse 不同于其他很多属性盒模型中垂直方向上的Margin会在相遇时发生崩塌也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时只有二者中的较大值会被保留下来可以从下面这个简单的例子来学习: .square {     width: 80px;     height: 80px; }  .red {     background-color: #F44336;     margin-bottom: 40px; }  .blue {     background-color: #2196F3;     margin-top: 30px; }  在上述例子中我们会发现红色和蓝色方块的外边距并没有相加得到70px而是只有红色的下外边距保留了下来。我们可以使用一些方法来避免这种行为不过建议来说还是尽量统一使用margin-bottom属性这样就显得和谐多了。 使用Flexbox进行布局 CSS实战之Flex详解以及其在微信中的兼容实现 在传统的布局中我们习惯使用Floats或者inline-blocks不过它们更适合于格式化文档而不是整个网站。而Flexbox则是专门的用于进行布局的工具。Flexbox模型允许开发者使用很多便捷可扩展的属性来进行布局估计你一旦用上就舍不得了: .container {     display: flex;     /* Dont forget to add prefixes for Safari */display: -webkit-flex; }  我们已经在Tutorialzine上提供了很多的关于Flexbox的介绍与小技巧譬如5 Flexbox Techniques You Need to Know About。 使用CSS Reset 虽然这些年来随着浏览器的迅速发展与规范的统一浏览器特性碎片化的情况有所改善但是在不同的浏览器之间仍然存在着很多的行为差异。而解决这种问题的最好的办法就是使用某个CSS Reset来为所有的元素设置统一的样式保证你能在相对统一干净的样式表的基础上开始工作。目前流行的Reset库有 normalize.css, minireset以及 ress 它们都可以修正很多已知的浏览器之间的差异性。而如果你不打算用某个外在的库那么建议可以使用如下的基本规则: * {     margin: 0;     padding: 0;     box-sizing: border-box; }  上面的规则看起来没啥用不过如果不同的浏览器在默认情况下为你设置了不同的外边距/内边距的默认值还是会挺麻烦的。 一切应为Border-box 虽然很多初学者并不了解box-sizing这个属性但是它确实相当的重要。而最好的理解它的方式就是看看它的两种取值: 默认值为content-box即当我们设置某个元素的heght/width属性时仅仅会作用于其内容尺寸。而所有的内边距与边都是在其之上的累加譬如某个div标签设置为宽100内边距为10那么最终元素会占用120(100 2*10)的像素。border-box:内边距与边是包含在了width/height之内譬如设置了width:100px的div无论其内边距或者边长设置为多少其占有的大小都是100px。将元素设置为border-box会很方便你进行样式布局这样的话你就可以在父元素设置高宽限制而不担心子元素的内边距或者边打破了这种限制。 以背景图方式使用Images 如果需要在响应式的环境下展示图片有个简单的小技巧就是使用该图片作为某个div的背景图而不是直接使用img标签。基于这种方式配合上background-size与background-position这两个属性可以很方便地按比例缩放: img {     width: 300px;     height: 200px; }  div {     width: 300px;     height: 200px;     background: url(http://cdn.tutorialzine.com/wp-content/uploads/2016/08/bicycle.jpg);     background-position: center center;     background-size: cover; }   section{     float: left;     margin: 15px; }  不过这种方式也是存在缺陷的譬如你无法设置图片的懒加载、图片无法被搜索引擎或者其他类似的工具抓取到有个不错的属性叫object-fit可以解决这个问题不过该属性目前的浏览器支持并不是很完善。 Better Table Borders HTML中使用Tables进行布局一直是个很头疼的问题它们使用起来很简单但是无法进行响应式操作并且也不方便进行全局样式设置。譬如如果你打算为Table的边与单元的边添加样式可能得到的结果如下: table {     width: 600px;     border: 1px solid #505050;     margin-bottom: 15px;     color:#505050; }  td{     border: 1px solid #505050;     padding: 10px; }   这里存在的问题是出现了很多的重复的边会导致视觉上不协调的情况那么我们可以通过设置border-collapse:collapse来进行处理: 注释格式优化 CSS虽然谈不上一门编程语言但是其仍然需要添加注释以保障整体代码的可读性只要添加些简单的注释不仅可以方便你更好地组织整个样式表还能够让你的同事或者未来的自己更好地理解。对于CSS中整块的注释或者使用在Media-Query中的注释建议是使用如下形式 /*---------------     #Header  ---------------*/header { }header nav { }/*---------------     #Slideshow  ---------------*/.slideshow { }  而设计的细节说明或者一些不重要的组件可以用如下单行注释的方式: /*   Footer Buttons   */ .footer button { }  .footer button:hover { }  同时不要忘了CSS中是没有//这种注释方式的: /*  Do  */p {     padding: 15px;     /*border: 1px solid #222;*/ }/*  Dont  */p {     padding: 15px;     // border: 1px solid #222;   }  使用Kebab-case命名变量 对于样式类名或者ID名的命名都需要在多个单词之间添加-符号CSS本身是大小写不敏感的因此你是用不了camelCase的另一方面很久之前也不支持下划线所以现在的默认的命名方式就是使用-: /*  Do     */ .footer-column-left { }  /*  Dont  */ .footerColumnLeft { }  .footer_column_left { }  而涉及到具体的变量命名规范时建议是使用BEM规范只要遵循一些简单的原则即可以保证基于组件风格的命名一致性。你也可以参考CSS Tricks来获得更多的细节描述。 避免重复代码 大部分元素的CSS属性都是从DOM树根部继承而来这也是其命名为级联样式表的由来。我们以font属性为例该属性往往是继承自父属性因此我们并不需要再单独地为元素设置该属性。我们只需要在html或者body中添加该属性然后使其层次传递下去即可: html {     font: normal 16px/1.4 sans-serif; }  使用transform添加CSS Animations 不建议直接改变元素的width与height属性或者left/top/bottom/right这些属性来达到动画效果而应该优先使用transform()属性来提供更平滑的变换效果并且能使得代码的可读性会更好: .ball {     left: 50px;     transition: 0.4s ease-out; }/* Not Cool*/.ball.slide-out {     left: 500px; }/* Cool*/.ball.slide-out {     transform: translateX(450px); }  Transform的几个属性translate、rotate、scale都具有比较好的浏览器兼容性可以放心使用。 不要重复造轮子 现在CSS社区已经非常庞大并且不断地有新的各式各样的库开源出来。这些库可以帮助我们解决从小的代码片到用于构建完整的响应式应用的全框架。所以如果下次你再碰到什么CSS问题的时候在打算撸起袖子自己上之前可以尝试在GitHUB或者CodePen上搜索可行方案。 尽可能使用低优先级的选择器 并不是所有的CSS选择器的优先级都一样很多初学者在使用CSS选择器的时候都是考虑以新的特性去复写全部的继承特性不过这一点在某个元素多状态时就麻烦了譬如下面这个例子: a{     color: #fff;     padding: 15px; }  a#blue-btn {     background-color: blue; }  a.active {     background-color: red; }  我们本来希望将.active类添加到按钮上然后使其显示为红色不过在上面这个例子中很明显起不了作用因为button已经以ID选择器设置过了背景色也就是所谓的Higher Selector Specificity。一般来说选择器的优先级顺序为ID(#id) Class(.class) Type(header) 避免使用!important 认真的说千万要避免使用!important这可能会导致你在未来的开发中无尽的属性重写你应该选择更合适的CSS选择器。而唯一的可以使用!important属性的场景就是当你想去复写某些行内样式的时候不过行内样式本身也是需要避免的。 使用text-transform属性设置文本大写 div classmovie-posterStar Wars: The Force Awakens/div  .movie-poster {     text-transform: uppercase; }  Em, Rem, 以及 Pixel 已经有很多关于人们应该如何使用emrem以及px作为元素尺寸与文本尺寸的讨论而笔者认为这三个尺寸单位都有其适用与不适用的地方。不同的开发与项目都有其特定的设置因此并没有通用的规则来决定应该使用哪个单位这里是我总结的几个考虑: em – 其基本单位即为当前元素的font-size值经常适用于media-queries中em是特别适用于响应式开发中。rem – 其是相对于html属性的单位可以保证文本段落真正的响应式尺寸特性。px – Pixels 并没有任何的动态扩展性它们往往用于描述绝对单位并且可以在设置值与最终的显示效果之间保留一定的一致性。在大型项目中使用预处理器 估计你肯定听说过 Sass, Less, PostCSS, Stylus这些预处理器与对应的语法。Preprocessors可以允许我们将未来的CSS特性应用在当前的代码开发中譬如变量支持、函数、嵌套式的选择器以及很多其他的特性这里我们以Sass为例: $accent-color: #2196F3;  a {     padding: 10px 15px;     background-color: $accent-color; }  a:hover {     background-color: darken($accent-color,10%); }  使用Autoprefixers来提升浏览器兼容性 使用特定的浏览器前缀是CSS开发中常见的工作之一不同的浏览器、不同的属性对于前缀的要求也不一样这就使得我们无法在编码过程中记住所有的前缀规则。并且在写样式代码的时候还需要加上特定的浏览器前缀支持也是个麻烦活幸亏现在也是有很多工具可以辅助我们进行这样的开发: Online tools: AutoprefixerText editor plugins: Sublime Text, AtomLibraries: Autoprefixer (PostCSS)在生产环境下使用Minified代码 为了提升页面的加载速度在生产环境下我们应该默认使用压缩之后的资源代码。在压缩的过程中会将所有的空白与重复剔除掉从而减少整个文件的体积大小。当然经过压缩之后的代码毫无可读性因此在开发阶段我们还是应该使用普通的版本。对于CSS的压缩有很多的现行工具: Online tools – CSS Minifier (API included), CSS CompressorText editor plugins: Sublime Text, AtomLibraries: Minfiy (PHP), CSSO and CSSNano (PostCSS, Grunt, Gulp)选择哪个工具肯定是依赖于你自己的工作流啦~ 多参阅Caniuse 不同的浏览器在兼容性上差异很大因此如果我们可以针对我们所需要适配的浏览器在caniuse上我们可以查询某个特性的浏览器版本适配性是否需要添加特定的前缀或者在某个平台上是否存在Bug等等。不过光光使用caniuse肯定是不够的我们还需要使用些额外的服务来进行检测。 Validate:校验 对于CSS的校验可能不如HTML校验或者JavaScript校验那么重要不过在正式发布之前用Lint工具校验一波你的CSS代码还是很有意义的。它会告诉你代码中潜在的错误提示你一些不符合最佳实践的代码以及给你一些提升代码性能的建议。就像Minifers与Autoprefixers也有很多可用的工具: Online tools: W3 Validator, CSS LintText editor plugins: Sublime Text, AtomLibraries: stylelint (Node.js, PostCSS), css-validator (Node.js)作者王下邀月熊_Chevalier 来源51CTO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鞍钢建设集团网站wordpress里面的附件如何导出

问题 在工作中 Ubuntu 20.04 桌面版因挂机或不当操作,意外导致如下问题 1、 Ubuntu 网络连接图标消失 2、 有线未托管 上图中展示的是 有线 已连接 ,故障的显示 有线 未托管 或其他字符 3、 ”设置“ 中缺少”网络“选项 上图是设置界面&#xff0c…

做网站横幅的图片多大做自己的网站流量怎么

文章目录 🐒个人主页🏅算法思维框架📖前言: 🎀插入排序 时间复杂度O(n^2)🎇1. 算法步骤思想🎇2.动画实现🎇 3.代码实现 🎀希尔排序 时间复杂度O(n*logn~n^2)希尔排序的设…

常熟响应式网站怎么做自己的电影网站

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为…

2008 iis 添加 网站 权限设置权限那个餐饮网站

统计天数 题目描述 炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦,他收集了连续 N ( 1 ≤ N ≤ 1 0 6 ) N(1 \leq N …

开封市建设银行网站什么网站可以做兼职

1.简介 51内置的时钟系统可以用来计时,与主程序分割开来,在计时过程中不会终端主程序,还可以通过开启时钟中断来执行相应的操作。 2.单片机工作方式 单片机内部有两个十六位的定时器T0和T1。每个定时器有两种工作方式选择,分别…

下载站模板 wordpress清远市住房和城乡建设局网站

说明 小明和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序…

网站建设的目的与意义是什么意思wordpress 4.9.1

应用协议安全:Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具,支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口,如果目标开启了 rsync 服务,并且没有配置 ACL 或访问密码&#…

网站建设 协议书 doc网站优化网站

原文地址:【LangChain系列 4】Model I/O——Prompts概述 本文速读: Prompt模版 样本选择器 Prompts简单来讲就是一组指令或文本输入,语言模型理解它的意思后,给出一个输出响应。 LangChain提供了一些模块可以让我们更方便地使…

西安网站建设有那些公司好中国空间网站

child_process 子进程 子进程是Nodejs核心API,如果你会shell命令,他会有非常大的帮助,或者你喜欢编写前端工程化工具之类的,他也有很大的用处,以及处理CPU密集型应用。 创建子进程 Nodejs创建子进程共有7个API Sync…

淘宝上面如何做网站本地资讯网站做的最好的

原题采用Kmeans方法对西瓜数据集进行聚类。我花了一些时间居然没找到西瓜数据集4.0在哪里,于是直接采用sklearn给的例子来分析一遍,更能说明Kmeans的效果。 #!/usr/bin/python # -*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as p…

湖北华亚建设工程有限公司网站html5制作网页的步骤

修饰符 修饰符用于执行区分大小写和全局匹配: 修饰符描述i执行对大小写不敏感的匹配。g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。m执行多行匹配。 方括号 方括号用于查找某个范围内的字符: 表达式描述[abc]查找方括号之间…

怎么做自己的公司网站放在百度公司网站建设服务费计入什么科目

文章目录 引言依赖配置文件代码编写1、实体类2、使用repository查询3、使用MongoTemplate查询 引言 应用程序中,通常会使用两种数据库,一种是关系型数据库如mysql等,另一种则是非关系型数据库例如mongodb,今天我们就来讲一讲如何…

唐山网站制作app门户网站做免费相亲的

Win8下Android SDK的安装与环境变量配置,具体内容如下1、下载Android SDK,点击安装,直接默认路径即可!进入该网站后往下拉就能找到sdk下载的位置,选择图中红圈的程序进行下载2、安装过程比较简单,按照平时安…

网站技术建设方案WordPress食谱小程序

文章目录 前情提要:网络协议和域名DNS协议、DNS污染Ipv4、Ipv6NAT协议,IP:端口,环节IP地址枯竭NAT-PT协议,加速Ipv6应用 前情提要: 本文仅做个人的学习记录以及理解,可能存在一些错误。 网络协…

网站建设首选原创先锋南阳专业网站制作费用

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

怎么创建网站免费的wordpress4.0+中文

二、flex 仿 gitCode 布局 及 自适应 首先查看我们的页面: 这个时候直接顶部一个块,下面分为左中右三个块,然后就解决了,是不是很简单?相比刚刚那么这个简单多了。那就来做吧。 2.1 基本布局 首先给一个 style 价格…

网站免费发布与推广工业园企业建设网站公司

[paper | code] 用生成对象本身作为控制信号,实现无条件图像生成。训练阶段。Step1:用预训练模型(例如:Moco v3)提取生成对象的特征编码;Step2:基于特征编码,训练一个扩散模型RDM&a…

滴滴出行网站建设网站效果展示

前端配合后端 采用临时上传 相关参考文档 使用临时URL进行授权访问_对象存储服务 OBS_BrowserJS_临时授权访问_华为云 选择文件方法 【 isPay 是否上传完毕】 handleChange(file, fileList) {this.active 0;this.json_data [];console.log(file, fileList);fileList.forEa…

单位建设网站硬件惠州网站建设技术支持

前两天有一个朋友联系华研荟,说他是今年大学毕业加入了一个中型公司,他学的是企业管理,在公司人力资源部门工作。上周老板说公司要办一份自己的内刊,这个工作由人力资源部负责,而人力资源经理就把这个活交给她了。 她…

a站网址大数据毕业后去什么岗位就业

1,返回栈 android中使用任务task来管理activity,一个任务就是一组存放在栈里的活动的集合,这个栈被称为返回栈。栈是一种先进先出的数据结构。当我们启动一个新的活动,他会在返回栈中人栈,并处以栈顶的位置&#xff0…