【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130134573
出自【进步*于辰的博客

纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl + F进行检索。

注:本文中“父级”指父级盒子或父级标签。

1、细节锦集

  1. div~div表示选中前div后的所有同级div;
  2. 内联元素(inline)无法设置上、下外边距。故margin: 0 auto无效,同样对行内块元素(inline-block)无效;
  3. 在不作为字体的情况下,单一显示字符,如:<,需使用

    字符实体

    \color{green}{字符实体}

    字符实体,格式:& + 实体名/实体号 + 分号。如:空格:&nbsp;

  4. 若一串字符由汉字、特殊字符、空格等组成,会自动换行;若仅包含数字、字母,且无空格,则视为单词,不换行;
  5. <a>实现本页面跳转:href = "#id"(id 是盒子id);
  6. js语句的优先级等同于行内式;
  7. 去除输入框被选中时的选中框:outline: none
  8. 滚动条:overflow: scroll
  9. transform覆盖,即当设置多个transform时,只有最后一个有效。其中,rotate会改变坐标轴方向;
  10. 定义动画时,所有位移、旋转、缩放等都相对于起始点;
  11. 修改网页标题 logo:<link ref = "icon" href = "<ico图片路径>" />
  12. 使用伪选择器创建的盒子属子级;
  13. H5之前,form 表单必须嵌套。H5中 form 表单不嵌套的方法:为<form>设置 id,并指定<input>的属性form为此 id;
  14. box-sizing样式表示是否将边框包含在width/height之内。取值:1、content-box表示不包含;2、border-box表示包含;3、inherit表示继承父级 box-sizing
  15. 设置<a>href为函数名,可实现点击链接调用函数(前端框架普遍也如此定义);
  16. 一般情况下,表单提交时正则校验最好只设置一次,因为连续校验可能出错;

2、关于定位

  1. 相对定位(relative)的参照对象是自身
  2. 绝对定位(absolute)的参照对象是父级
    先检查父级标签是否设置定位方式(无论何种定位)。若有,则参照父级标签;否则,再检查父父级标签是否设置定位方式。依次类推。若都没有设置,则参照网页(指html/body标签,具体不确定,而结果相差不大)。

4、关于层级

  1. z-index可设置层级,前提是已设置定位方式,且若是相对定位,层级会增加;
  2. 盒子层级默认为0,若是将层级设置为负数,在不改变<body>层级的情况下,盒子将不能操作;
  3. 层级会继承;
  4. 盒子的层级取决于这个盒子所在“家族”、已设置层级且“辈分”最大的盒子,其后代无法再修改层级(的确仍可以设置z-index,但无意义);
  5. 当层级相同时,后面的盒子比前面的盒子高(指距离我们眼睛越近);
  6. 定位不会改变层级,在第1点中说:“相对定位会增加层级”其实说的是第5点。若盒子设置为相对定位,则看起来此盒子会更高,而实际上层级未变;

5、全局标签属性

参考笔记一,P6.13。

  1. 设置<table>可编辑:contented:table = "true"
  2. hidden:隐藏标签,不占据空间。若要去除隐藏,需去掉hidden,修改值无用;
  3. spellcheck = "true"属性用于设置可编辑(第1点)的input[type = text]<textArea>编辑类 标签进行拼写检查。

7、功能:滚轮控制(jq)

参考笔记一,P13.5/6。

实现思路:通过动画修改scrollTop(滚动高度。“滚动高度”就是盒子的高度,即样式top)。注:scrollTop不是样式。

示例。

var footTop=parseInt($("footer").offset().top);
var se2Top=parseInt($("#section2").offset().top);
var se3Top=parseInt($("#section3").offset().top);
var se4Top=parseInt($("#section4").offset().top);
$(window).scroll(function(){
var sTop;
if($("html").scrollTop()!=0&&$("body").scrollTop()!=0){
sTop=$("html,body").scrollTop()
}else if($("html").scrollTop()==0){
sTop=$("body").scrollTop()
}else{
sTop=$("html").scrollTop()
} if(sTop>=se4Top){
$("#scroll>li").eq(3).css("background","white").siblings().css("background","none")
}else if(sTop>=se3Top){
$("#scroll>li").eq(2).css("background","white").siblings().css("background","none")
}else if(sTop>=se2Top){
$("#scroll>li").eq(1).css("background","white").siblings().css("background","none")
}else{
$("#scroll>li").eq(0).css("background","white").siblings().css("background","none") }
})

说明:

  1. offset():将标签转为对象。从而获取样式top,直接使用css('top')也可。
    注意:若没有为盒子设置样式topcss('top')返回undefined,而offset().top返回0,因为后者底层进行了处理;
  2. scroll():滚轮事件,当滚轮滚动时执行;
  3. scrollTop():返回滚动高度;
  4. siblings():返回除自身以外的所有同级盒子。

时隔多年,只能请大家自行揣摩了。。。

8、关于 css

  1. 设置样式(css)的方法很多:外链式、内嵌式、内行式和属性设置。若需要令某一样式具有最高优先级,可在样式后加:!important
  2. 外链式与内嵌式无优先级之分,在于顺序。

9、功能:轮播

参考笔记一,P13.7、P14.8。


初步效果:

实现思路:

\color{green}{实现思路:}

实现思路:
从这张图,大家就大致可以知道轮播是如何实现的。需要三个样式:定时器(setInterval())、平移(translate() / left)和过渡(transition)。

先附上这张平移图的实现源码:(草草写的。。。给大家参考一下)
1、html。(快速生成代码:div>div>div*6>img,在输入g的时候按 Tab)

<div id="border">
<div id="scroll">
<div><img src="" alt=""></div>
<div><img src="" alt=""></div>
<div><img src="" alt=""></div>
<div><img src="" alt=""></div>
<div><img src="" alt=""></div>
<div><img src="" alt=""></div>
</div>
</div>

2、css。

#border {
width: 80px;
height: 43px;
border: 5px solid red;
margin: 100px auto;
}
#scroll {
width: 480px;
height: 47px;
position: relative
}
#scroll>div {
float: left;
}

3、js。

var srcs = ['img/11.jpg', 'img/12.jpg', 'img/13.jpg', 'img/14.jpg', 'img/15.jpg', 'img/16.jpg']
$("#scroll img").each(function(i, e) {
e.width = 80
e.height - 45
e.src = srcs[i]
}) var i = 0
var move = function() {
$("#scroll").css('left', -80 * i + 'px')
i++
if(i == 6)
i = 0
}
setInterval(move, 500)

i == 5时(最后一张),将过渡归0,实现“瞬间”轮播,理论上可以实现“完美”效果(淘宝上经常出现的那种效果),实际上由于过渡需要时间,当原过渡开始时,程序继续执行,原过渡被“瞬间”过渡取代,偏移(translate() / left)也被取代,就出现了当轮播到第6张图时,瞬间回到第一张图的情况,故需要当x == 6时再执行“瞬间”过渡,但这样就出现了0.5s的停顿。

上面那张图还没有“过渡”效果,加上这个样式:

#scroll {
transition: 0.5s
}

效果:

“理想”效果:当过渡到第6张图后,下0.5s,轮播到第2张图。(时间挺长了,实现细节有些忘了。。。)

“理想”效果实现方法:

\color{red}{“理想”效果实现方法:}

“理想”效果实现方法:使用动画(animation)。由于动画不会被取代,故当x == 5时轮播,即可实现。(源码找不到了,只能请大家自行理解补充)

最后

如果大家想了解一些前端原生知识点,可查阅博文《HTML/CSS知识点锦集》。

本文持续更新中。。。

[HTML、CSS]细节、经验的更多相关文章

  1. 爱上朴实的CSS细节

    英文原文:Learning to Love the Boring Bits of CSS  未来的CSS太让人兴奋了:一方面,是全新的页面布局方式:另一方面,是酷炫的滤镜.颜色等视觉效果.这些CSS, ...

  2. webapp开发之需要知道的css细节

    引言 首先说明一下,本文分享对象是涉世未深的移动开发者,至于有经验的开发者可以自行绕道. 说来惭愧,做了几年pc端的前端开发,很少接触到webapp的移动端开发.如今有机会参与webapp的开发,发现 ...

  3. css 细节收集

    细节1……………………………………………………………………………… 一.当文字与图片在一行,需要将文字与图片底对齐,需要这样写: <li>记住密码<img src="&qu ...

  4. 相关css 细节处理 neat.css

    人性化的细节处理 例如: textarea 默认只能垂直拖动,防止宽度改变破坏布局. textarea { resize: vertical; } 汉字字号小于 12px 不易阅读,为 <sma ...

  5. (转)div+css 布局经验 - 最简单的 = 最不变形的(原创技巧)

    站酷几年了 一直饱受其恩泽 尤为感激 一直想奉献些什么 但是苦于水平 苦于奔波 今天静下心来 为大家奉献下 自己的div+css 经验 ,以下观点只代表 深海个人立场 希望为初学者提供一条" ...

  6. CSS细节

    写起这篇文章,是因为阅读张鑫旭到的一篇文章<CSS的学习瓶颈>,里面提到了要重视CSS的细节和实现机制.确实:有必要掌握一些关于CSS方面的细节,而不是遇到任何页面,都添加css.rese ...

  7. div+css 布局经验 - 最简单的 = 最不变形的(原创技巧)

    站酷几年了 一直饱受其恩泽 尤为感激 一直想奉献些什么 但是苦于水平 苦于奔波 今天静下心来 为大家奉献下 自己的div+css 经验 ,以下观点只代表 深海个人立场 希望为初学者提供一条" ...

  8. 学点css之经验总结篇章

    学css说起来应该有三天左右的时间的,加上之前了解的基础,对css有一点的感性认识了,相应代码有有比较好的把握,现在就通过分享几张照片的形式分享一下我的收获 备注:在Border的外边的部门被称作:o ...

  9. css细节:尖角处理

    在各种网站里面,我们会经常看到类似于这样的尖角:(示例:新浪微博) 它实现的方式有多种,哪种才是最简单的?哪种才是最优秀的?首先我声明一下,我还不清楚这个东西具体叫什么名字(哪位知道还望告知),暂且叫 ...

  10. css细节复习笔记——浮动

    CSS除了能够改变字体.背景和所有其他属性,还能够完成基本布局任务. div+css通过浮动和定位.盒子模型等技术应用,是最常用的布局方式. 定位的基本思想很简单,它允许定义元素框相对于其正常位置应该 ...

随机推荐

  1. NC227595 跳跳跳

    题目链接 题目 题目描述 dd在玩跳格子游戏,具体游戏规则如下, \(n\) 个格子呈环形分布,顺时针方向分别标号为 \(1\sim n\) ,其中 \(1\) 和 \(n\) 相邻,每个格子上都有一 ...

  2. NC13885 Music Problem

    题目链接 题目 题目描述 Listening to the music is relax, but for obsessive(强迫症), it may be unbearable. HH is an ...

  3. gif 制作

    gif 制作 博文中使用 gif 有时比纯粹的图片更明了.比如展示"墨刀"中的动画效果: 录制视频 首先利用录制视频,例如使用在线录制工具 vizard. Tip:需要花费2分钟手 ...

  4. SpringBoot 2.6 和 JUnit 5 的测试用例注解和排序方式

    JUnit5 的测试注解 在JUnit5中, 不再使用 @RunWith 注解, 改为使用 @ExtendWith(SpringExtension.class) @ExtendWith(SpringE ...

  5. IoT(Internet of things)物联网入门介绍

    1.什么样的物可以入网? 要有数据传输通路 要有一点的存储功能 要有CPU 要有操作系统 要有专门的应用程序 遵循物联网的通信协议 在网络世界中有可被识别的唯一编号 2.MQTT协议 不是在说物联网吗 ...

  6. 在Mac下使用zsh

    什么是zsh 简单来说,zsh是一个构建于bash之上的shell工具,详见:zsh . 相比起bash,zsh默认支持许多非常实用的功能,比如:可以显示当前所在的git分支,这对于程序员来说是非常有 ...

  7. Jenkins下载插件报错

    只要看日志报了什么错 下载超时 更新代理源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 报unable ...

  8. java基础集合类之ArrayList---01

    集合类之ArrayList ArrayList<E>: 1.可调整大小的数组实现 2.<E>:是一种特殊的数据类型,泛型 3.在出现E的地方我们使用引用数据类型替换即可:Arr ...

  9. 【LeetCode二叉树#15】二叉搜索树的最小绝对差(巩固迭代中序遍历#2)

    二叉搜索树的最小绝对差(迭代法中序遍历巩固) 力扣题目链接(opens new window) 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值. 示例: 提示:树中至 ...

  10. Frechet Inception Distance

    (以下内容重新更新,主要讲解FID的意义,为何FID能够表示生成图像的多样性和质量,为什么FID越小,则图像多样性越好,质量也越好) 在计算FID中我们也同样使用inception network网络 ...