web前端小知识 —— 【HTML,CSS,JS】集锦 【第一期】 { }
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】集锦 【第一期】 { }的更多相关文章
- WEB前端性能优化:HTML,CSS,JS和服务器端优化
对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...
- Web前端优化最佳实践及工具集锦
Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...
- Web前端理论知识记录
Web前端理论知识记录 Elena· 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session) ...
- Web 前端之HTML和CSS
Web 前端之HTML和CSS HTML被称为超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言,标记语言是一套标记标签,HTML使用标记标签 ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- 前端小技巧:css sprite----V客学院技术分享
前端小技巧:css sprite 因为英文名叫sprite,翻译过来是精灵,而雪碧饮料也叫sprite,所以叫精灵兔或者雪碧图. 它有什么作用呢? 当用户在浏览器里输入一个URL地址的时候,你会感觉无 ...
- Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行
H1/H2/H3/H4标题标签常常使用在一个网页中唯一标题.重要栏目.重要标题等情形下. H1在一个网页中最好只使用一次,如对一个网页唯一标题使用.H2.H3.H4标签则可以在一个网页中多次出现, ...
- web前端面试试题总结---css篇
CSS 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(content).填充(padding).边界(m ...
- 好程序员web前端分享12个CSS高级技巧汇总
好程序员web前端分享下面这些CSS高级技巧,一般人我可不告诉他哦. 使用 :not() 在菜单上应用/取消应用边框 给body添加行高 所有一切都垂直居中 逗号分隔的列表 使用负的 nth-chil ...
随机推荐
- Codeforces Round #791 (Div. 2) A-C
Codeforces Round #791 (Div. 2) A-C A 题目 https://codeforces.com/contest/1679/problem/A 题解 思路 知识点:数学,暴 ...
- 自定义 systemd service
Red Hat Linux 自 7 版本后 采用systemd 形式取代原先 init ,用户可以参考 系统service 创建自己的service ,以便于日常统一管理,系统service 存储路径 ...
- SpringBoot接口 - 如何生成接口文档之非侵入方式(通过注释生成)Smart-Doc?
通过Swagger系列可以快速生成API文档,但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式: 那么有没有非侵入式方式呢, 比如通过注释生成文档? 本文主要介绍非侵入式的方式 ...
- jdbc 10:jdbc事务
jdbc连接mysql,涉及到的事务问题 package com.examples.jdbc.o10_jdbc事务; import java.sql.Connection; import java.s ...
- CF1702A Round Down the Price 题解
题意:给定一个数 \(n\),找出一个数为 \(10^k \leq n\),求二者的差. 建立一个数组,储存 \(10^k\),每次直接查询求差输出. 注意数据范围. #include<cstd ...
- python中的标识符和保留字
保留字,有一些单词被赋予了特定的意义,这些单词不能作为对象的名字 想要快速获取python中的关键字可以通过以下的程 序来快速实现 import keyword print(keyword.kwlis ...
- 在半小时内从无到有开发并调试一款Chrome扩展(Chrome插件/谷歌浏览器插件)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_120 就在不久之前,我们目前这个毕业班的班长那日同学和我说,他正在公司开发Chrome扩展,看起来很高大上的技术,实际开发却非常简 ...
- if条件控制语句和switch语句
if条件控制语句(判断范围,在一定区间内容进行判断) if 如果(第一个条件) else if 如果(第二个条件 可以无限加) else 否则(只能有一个 上面都不满足的情况下进入) if和else ...
- 项目应用丨Modbus转Profinet网关连接ABB变频器的现场应用记录
本案例客户需求是将ABB变频器接入到Profinet网络中,使用设备为西门子1200PLC,ABB变频器以及小疆智控Modbus转profinet网关.1.首先打开西门子组态软件,新建一个项目. 2. ...
- 【Java面试】这道互联网高频面试题难住了80%的程序员?索引什么时候失效?
"索引什么时候失效?" 面试过程中,突如其来的一个问题,是不是有点懵? 没关系,关注我,面试不迷路. 我是Mic,一个工作了14年的Java程序员. 索引失效涉及到的知识点非常多, ...