1、获取元素样式属性的方法

第 一 种 : 较灵活,能获取传进来想获取的元素的样式属性,返回的是【字符串】

function getStyle(obj, name) {
// IE // 主流
return obj.currentStyle ? obj.currentStyle[name] : getComputedStyle(obj, false)[name];
}

第 二 种 : 重复使用率低

function getObjWidth(){
return parseInt(window.getComputedStyle(document.querySelector(".box")).width,10);
}

2、鼠标【hover】(漂浮)在一个元素上,控制其他元素

实现一个【会动的】close 按钮,效果如下:

<div id="div1">
<span id="close1"></span>
<span id="close2"></span>
</div>
<div id="div2">
<span id="div21"></span>
<span id="div22"></span>
</div>
#div1 {
width: 30px;
height: 30px;
left: 100px;
top: 200px;
position: absolute;
background-color: aquamarine;
}
#div2 {
width: 30px;
height: 30px;
left: 100px;
top: 250px;
position: absolute;
background-color: aquamarine;
} #div1:hover > #close1 {
transform: rotateZ(135deg);
}
/* '>' 控制下一级 */
#div1:hover > #close2 {
transform: rotateZ(45deg);
}
/* '+' 控制同级 */
#div1:hover + #div2 {
background-color: #337ab7;
}
/* 控制同级的下一级 */
#div1:hover + #div2 > #div21 {
background-color: bisque;
}
#div1:hover + #div2 > #div22 {
background-color: brown;
} #close1,
#close2,
#div21,
#div22 {
position: absolute;
top: 3px;
right: 12.5px;
width: 5px;
height: 25px;
border-radius: 25px;
background-color: #333744;
transition: all 0.2s ease;
} #close1,
#div21 {
transform: translateY(-5px) rotateZ(90deg);
} #close2,
#div22 {
transform: translateY(5px) rotateZ(90deg);
}

3、[].forEach.call() 函数的用法

通过document.querySelectorAll()获取到的是【NodeList】对象,不能通过【forEach】遍历

参数1、List 对象

参数2、回调函数

<div class="box">box1</div>
<div class="box">box2</div>
<div class="box">box3</div>
<div class="box">box4</div>
<div class="box">box5</div>
[].forEach.call(divs,(item,index) => {
console.log(`${index} - ${item.innerHTML}`);
})

4、实现一个【画圆】的动画

效果:

<svg viewBox="0 0 100 100">
<circle
fill="none"
stroke="#333744"
stroke-width="5"
cx="50"
cy="50"
r="15"
stroke-linecap="round"
class="ball"
transform="rotate(90 50 50)"
></circle>
</svg>
.ball {
stroke-dasharray: 95; /* 设置为约等于ball的【圆周】长度 */
stroke-dashoffset: 95;
transition: all 0.5s ease-in-out;
} svg:hover .ball {
stroke-dashoffset: 0;
}

5、自定义【右键菜单】

<h1>按下右键呼出菜单</h1>
<div class="menu">
<div class="child">Unity</div>
<div class="child">LeetCode</div>
<div class="child">Reload</div>
</div>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
} h1{
transition: all 0.5s ease-in-out;
} .menu{
display: flex;
flex-direction: column;
align-items: center;
width: 200px;
height: 300px;
background-color: #333744;
position: absolute;
opacity: 0;
transition: opacity 0.5s ease-out;
transform: scale(0);
} .menu:nth-child(1) {
margin-top: 5px;
} .open{
transform: scale(1);
} .child{
width: 95%;
height: 25px;
border-bottom: 1px solid #eee;
margin-bottom: 10px;
padding-bottom: 5px;
color: floralwhite;
font-size: 15px;
} .child:hover {
background-color: rgba(255, 255, 255, 0.25);
}
window.onload = function(){
var menu = document.querySelector(".menu");
var h1 = document.querySelector("h1");
document.oncontextmenu = function(e){
h1.style.opacity = '0';
menu.style.opacity = '1';
menu.classList.add("open");
menu.style.left = e.clientX + "px";
menu.style.top = e.clientY + "px";
return false;
}
document.onmousedown = function(){
menu.style.opacity = '0';
}
var linkS = menu.children;
linkS[0].onclick = function(){
window.open("http://www.unity.cn");
}
linkS[1].onclick = function(){
window.open("http://www.leetcode.com");
}
linkS[2].onclick = function(){
window.location.reload();
}
}

web前端小知识 —— 【HTML,CSS,JS】集锦 【第一期】 { }的更多相关文章

  1. WEB前端性能优化:HTML,CSS,JS和服务器端优化

    对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...

  2. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  3. Web前端理论知识记录

      Web前端理论知识记录 Elena· 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session) ...

  4. Web 前端之HTML和CSS

    Web 前端之HTML和CSS HTML被称为超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言,标记语言是一套标记标签,HTML使用标记标签 ...

  5. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  6. 前端小技巧:css sprite----V客学院技术分享

    前端小技巧:css sprite 因为英文名叫sprite,翻译过来是精灵,而雪碧饮料也叫sprite,所以叫精灵兔或者雪碧图. 它有什么作用呢? 当用户在浏览器里输入一个URL地址的时候,你会感觉无 ...

  7. Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行

      H1/H2/H3/H4标题标签常常使用在一个网页中唯一标题.重要栏目.重要标题等情形下. H1在一个网页中最好只使用一次,如对一个网页唯一标题使用.H2.H3.H4标签则可以在一个网页中多次出现, ...

  8. web前端面试试题总结---css篇

    CSS 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(content).填充(padding).边界(m ...

  9. 好程序员web前端分享12个CSS高级技巧汇总

    好程序员web前端分享下面这些CSS高级技巧,一般人我可不告诉他哦. 使用 :not() 在菜单上应用/取消应用边框 给body添加行高 所有一切都垂直居中 逗号分隔的列表 使用负的 nth-chil ...

随机推荐

  1. Kubebuilder简介与架构

    什么是Kubebuilder Kubebuilder是一个用Go原因构建Kubernetes APIs的框架,通过使用KubeBuilder,用户可以遵循一套简单的编程框架,使用CRD构建API.Co ...

  2. UiPath数据抓取Data Scraping的介绍和使用

    一.数据抓取(Data Scraping)的介绍 使用截据抓取使您可以将浏览器,应用程序或文档中的结构化数据提取到数据库,.csv文件甚至Excel电子表格中. 二.Data Scraping在UiP ...

  3. Linux文件的特殊属性

    文件的特殊属性 作用:文件的权限不能显示root用户,为了防止root用户的误操作,所以需要特殊属性来防止root用户的误操作. chattr工具: 可以给文件添加特殊的属性 +i:对这个文件不能修改 ...

  4. Python制作手游《和平精英》游戏资料查询助手

    写在前面的一些P话: <和平精英>这个游戏想必大家都玩过了,今天来教大家制作一个<和平精英>游戏的资料查询助手 受害者地址: https://gp.qq.com/main.sh ...

  5. VS Code 调教日记(2022.6.26更新)

    VS Code 调教日记(2022.6.26更新) 基于msys2的MinGW-w64 GCC的环境配置 下载并安装msys2 到路径...msys2安装路径...\msys64\etc\pacman ...

  6. 使用Scrcpy投屏

    下载Scrcpy: https://wwt.lanzouw.com/iAzie07bz85c官网地址: https://github.com/Genymobile/scrcpy 记录当前下载位置: 手 ...

  7. 『现学现忘』Git后悔药 — 29、版本回退git reset --mixed命令说明

    git reset --mixed commit-id命令:回退到指定版本.(mixed:混合的,即:中等回退.) 该命令不仅修改了分支中HEAD指针的位置,还将暂存区中数据也回退到了指定版本. 但是 ...

  8. CSS 盒子模型(一)

    CSS 盒子模型(一) 本人在校学生,主学后端,后来发现前端的基础都忘得差不多了才想着写文章回来复习!欢迎留言交流. 什么是盒子呢? 拿下举例,我们可以把每个红框都比作一个盒子,他们可以是任意的 HT ...

  9. 线程池ThreadPoolExector核心ctl, execute, addWorker, reject源码分析

    线程池核心方法execute()解析: public void execute(Runnable command) {//#1 if (command == null) throw new NullP ...

  10. C#(.net) 面试题

    1.ASP.NET的页面生存周期 .aspx/.ashx->IIS->Asp.net_isapi.dll->HttpRuntime.ProcessRequest() ->Htt ...