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. IDEA插件配置之Eclipse Code Formatte

    1.下载 在idea中的Plugins中下载插件 Eclipse Code Formatte,下载过之后重启. 2.配置 将自己下载的xml文件加载进来即可. 这个xml文件可自行在网上找找,有需要的 ...

  2. Nginx通过bat文件快速启动停止

    新建文本文件NginxRun.bat.(名字无所谓,后缀名得是bat) 将以下代码复制到bat文件中即可. @echo off ::进入D盘 d: ::进入nginx目录 这里是自己的nginx目录 ...

  3. Linux for CentOS 下的 keepalived 安装与卸载以及相关命令操作之详细教程

    百度百科解释: keepalived 是一个类似于 layer3, 4 & 7 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 7 层交换.Keepalived 的作用是检测 w ...

  4. 记一次 .NET 差旅管理后台 CPU 爆高分析

    一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的 web 系统 cpu 运行一段时候后就爆高了,让我帮忙看一下是怎么回事,那就看吧,声明一下,我看 dump 是免费的,主要是锤炼自己技术 ...

  5. Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型

      需求持续更新,优化一刻不停--Tapdata Cloud 2.1.4 来啦!   最新发布的版本中,在新增数据连接之余,默认标记不支持同步的字段类型,避免因此影响任务的正常运行. 更新速览 ① 数 ...

  6. 记录一次ubuntu安装mysql,远程无法登录问题的解决历程

    进入ubuntu的mysql配置文件 sudo vim debian.cnf [client] host = localhost user = debian-sys-maint password = ...

  7. Active Backup for Business激活

    依次执行 https://IP地址:5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=1&account= ...

  8. SimpleMongoDbFactory类已经失效,被SimpleMongoClientDbFactory替代

    老版本的mongodbtemplate连接池的用法 spring: data: mongodb: address: 127.0.0.1:37017 replica-set: database: xxx ...

  9. idea引入fastjson的jar包:ClassNotFound

    idea 手动添加fastjson的jar包时,既在项目依赖里添加了,又在WEB-INF下的lib库里添加了 但是启动后就是加载不到,报错:ClassNotFound 尝试了好久,也参考了网上的许多建 ...

  10. “杀死” App 上的疑难崩溃

    在移动应用性能方面,崩溃带来的影响是最为严重的,程序崩了可以打断用户正在进行的操作体验,造成关键业务中断.用户留存率下降.品牌口碑变差.生命周期价值下降等影响.很多公司将崩溃率作为优先级最高的技术指标 ...