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 ...
随机推荐
- Python自动化办公:将文本文档内容批量分类导入Excel表格
序言 (https://jq.qq.com/?_wv=1027&k=GmeRhIX0) 它来了,它又来了. 本文实现用Python将文本文件自动保存到Excel表格里面去. 需求 将锦江区.t ...
- 拉取服务器上的项目,svn认证失败
解决方案: 在服务器上找到对应的项目路径,并修改authz: 我的是因为[group]组下(下图中34行),我写的是[demo:/],改为[/]就可以了.
- Android Studio 的初次使用
记录我第一次使用Android Studio时遇到的问题以及一些简单的笔记. 我所使用的是Android Studio 2.2版本 遇到的问题 创建一个Hello World!项目无疑是相当简单的,我 ...
- browserify的standalone的含义
白话:就像Jquery的$, 把你打包后的函数挂在window下你指定的名字下 废话:白话看不懂,就看下面的废话,你不得不花更多时间理解--standalone AAA的含义$ browserify ...
- Collection子接口:Set接口
1.Set 存储的数据特点:无序的.不可重复的元素具体的:以HashSet为例说明: 1. 无序性:不等于随机性.存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的. 2. 不 ...
- Iterator接口介绍和迭代器的代码实现
定义:Iterator接口是Java集合框架中的一员. 作用:Collection接口与Map接口主要用于存储元素. 常用方法: boolen hasNext(); //判断游标右边是否还有元 ...
- golang面试-代码编写题1-14
目录 1.代码编写题--统计文本行数-bufio 2.代码编写题--多协程收集错误信息-channel 3.代码编写题--超时控制,内存泄露 4.代码编写题--单例模式 5.代码编写题--九九乘法表 ...
- .net 温故知新:【6】Linq是什么
1.什么是Linq 关于什么是Linq 我们先看看这段代码. List<int> list = new List<int> { 1, 1, 2, 2, 3, 3, 3, 5, ...
- Modbus的设备怎么对接华为云 使用金鸽BL100只需要5步
BL100是一款高性价比的Modbus转MQTT网关支持一键对接阿里云.华为云. BL100将Modbus串口设备的数据上传至华为云只需要简单五步 第一步.首先将Modbus的设备通过RS485接上M ...
- 封装Fraction-分数类(C++)
Fraction 分数类 默认假分数,可自行修改 由于concept的原因 template <typename T> concept is_float_v = std::is_float ...