侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

html、css基础注意点(前端必看篇)

前端  /  管理员 发布于 7年前   143

之前第一次接触html,一直使用table进行布局,十分麻烦还相当丑陋,造成当初并没有多大的兴趣,直到半年前开始接触到了使用div+css编写页面,才对它有了兴趣。作为一个菜鸟记录自己的点滴教训与收获,主要还是给自己看的,也希望对以后想要学习的同学有所帮助,同时也还请各位前辈多多指出不足。

1      减少无意义标签的使用

简单的举个例子:

 

对于这个顶部的结构,

错误:通栏>版心>左边+(右边>ul>li*9>a)

正确:通栏>版心>左边+(ul>li*9>a)

对于右边的部分,不需要使用一个div包裹ul,明明一个ul就可以实现何必使用多余的div标签进行嵌套呢。所以在编写过程中明明可以用一个标签解决的,不要使用无意义的标签多层嵌套。

2      关于命名

以前学习java,因为英语不好,喜欢用拼音命名,这样做不好,虽然一开始学习就知道,但是并不是很注意。在身边人的提醒下,尤其自己也感觉用拼音的不便性,纠正,以后要更注意命名。英语不好没关系,这不是还有有道和度娘吗?

再有就是标签发生嵌套时候的命名。一般同一层级的标签的命名问题不是很大,只需要使用一个单词就可以。但是当发生嵌套的时候就需要使用“-”进行连接,不然很容易自己分不清哪个标签是哪个。比如以上那个顶部通栏可以使用top命名整个,右边部分可以叫top-right,后面可能还会有top-right-detail-link如果太长就可以缩写为top-r-d-link,还是太长甚至可以缩写为trd-link,注意是太长才缩写,短的话为了保证意思的理解不用缩写,另外最后一个单词为了理解也最好不要缩写。

3      特殊符号的使用

上面那个下拉箭头是使用菱形符号◇制作的,使用了两个标签进行嵌套书写,

<i><s>◇</s></i>

s标签使用position控制需要显示部分的位置,i标签控制窗口大小,同时隐藏溢出。

CSS Code复制内容到剪贴板
  1. i {   
  2.     width: 15px;   
  3.     height: 8px;   
  4.     position: relative;    
  5.     overflow: hidden;   
  6. }   
  7. i s {   
  8.     font: 400 14px/14px consolas;   
  9.     position: absolute;   
  10.     top: -6px;   
  11. }  

以上是通行的做法,作为菜鸟,在不考虑兼容的情况下,感觉使用一个标签就可以解决,对于字符使用行高控制垂直位置,用宽高限制显示区域。

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <title>测试</title>  
  6.     <style>  
  7.         i {   
  8.             display: inline-block;   
  9.             height: 50px;   
  10.             width: 100px;   
  11.             overflow: hidden;   
  12.             font: 400 100px/0px SimSun;    
  13.         }   
  14.     </style>  
  15. </head>  
  16. <body>  
  17. <i>◇</i>  
  18. </body>  
  19. </html>  

这是效果:  

目前只是测试了在谷歌,火狐下的效果,没有问题,有什么不妥之处还请指出。

4      相邻行内块元素之间的距离

上面的导航如果使用转化为行内块元素,那么相邻两个元素之间就会有几像素的距离,可能粗看看不出来,但是放大以后可以看见,解决这个问题的唯一办法就只能使用浮动。

5      数值的连写:

在css中有一些属性的值可以连写。比如padding、border-radius。前者为上、右、下、左,后者四个方向为左上、右上、右下、左下。它们都是顺时针方向排列的,只是起点不同。如果将四个方向看作a、b、c、d。那么当后面书写连续的2个数值时代表的是:ac、bd;3个数值代表a、bd、c;4个数值不用说代表的就是a、b、c、d了。

6      清除浮动

清除浮动的方法有4种,最普遍的是使用伪元素。

CSS Code复制内容到剪贴板
  1. .clearfix:before, .clearfix:after {   
  2.     content: "";   
  3.     display: table;   
  4. }   
  5. .clearfix:after {   
  6.     clear: both;   
  7. }   
  8. .clearfix {   
  9.     *zoom: 1; /*IE/7/6*/  /*兼容IE6下的写法*/  
  10. }  

7      设置高度

上面讲到浮动突然想到关于的板块高度的问题,一般来说尽量不要使用一个固定的高度把一个板块写死,不要写死!不要写死!不要写死!重要的事情说3遍。写死了怎么做响应式?

8      元素的margin,padding

对于所有元素margin和padding的水平方向(左右)都是起作用的,只有行内元素的垂直方向(上下)是不起支撑作用的。需要注意的是padding可以将元素边框撑大,但是并不会将元素挤离原来的垂直位置。

 

 

9     相对定位与绝对定位的使用

定位总共有四种:绝对定位、相对定位、固定定位、静态定位。后两种定位,没有什么好说的,就是前面的两种定位,需要注意的是相对定位会占据原来文档流的位置,而绝对定位则不占据原来的文档流位置,所以在需要使用定位的时候,需要按照实际情况,具体情况具体分析,考虑到底是使用相对定位还是使用绝对定位。举个栗子:

CSS Code复制内容到剪贴板
  1. * { margin: 0; padding: 0; color: #fff; font-size: 20px; }   
  2.         .nav { height: 30px; background-color: pink; border-bottom: 4px solid red; }   
  3.         .w { width: 100px; margin: 0 100px; position: relative; height: 30px; z-index: 1; }   
  4.         .nav-list { height: 30px; background-color: red; }   
  5.         .left { width: 100%; height: 400px; background-color: peru; position: absolute; }   
  6.         .b { margin-left: 210px; width: 100px; height: 100px; background-color: lightblue; position: relative; }  
XML/HTML Code复制内容到剪贴板
  1. <div class="nav">  
  2.     <div class="w">  
  3.         <div class="nav-list">list</div>  
  4.         <div class="nav-list">list</div>  
  5.         <div class="nav-list">list</div>  
  6.         <div class="nav-list">list</div>  
  7.         <div class="nav-list">list</div>  
  8.     </div>  
  9. </div>  
  10. <div class="left">left</div>  
  11. <div class="b">b</div>  

 

List属于上面部分,left为底层的广告,b是下面板块的内容,如果完全使用相对定位和绝对定位解决问题,那么left为了不影响下面的板块应该使用absolute,这样的话超过上面部分的list就会被遮盖,所以要给list的父盒子设置一定的层级,照道理来说需要使用relative去占据上面部分的位置,因为他依旧属于上面的部分。这样的话需要给b也设置relative,为了不被遮挡还需要设置左外边距。

10  使用定位居中元素

块级元素的水平居中可以使用margin:0 auto;使用定位解决的办法是:设置定位后设置left(top)为50%,再使用margin-left回退自己身位的一半。

CSS Code复制内容到剪贴板
  1. height: 20px;   
  2. width: 50px;   
  3. position: absolute;   
  4. left: 50%;   
  5. margin-left: -25px;  

11  背景和图片

经常被问到应该什么情况下使用img插入图片,什么时候用背景。简单得讲我认为,一般的网站里的图标都用背景,具体涉及到某件产品那么使用img图片。

以上这篇html、css基础注意点(前端必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

原文地址:http://www.cnblogs.com/qing9442/archive/2016/07/26/5709413.html


  • 上一条:
    前端AI切图小技巧(心得)
    下一条:
    浅谈网页颜色的搭配技巧(前端必看)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客