使用JS操作CSS

简介: 一.什么是css? Cascading Style Sheets 通常称为CSS样式表或层叠样式表(级联样式表) CSS用于控制网页的外观 (HTML是用于控制网页结构的,JS是控制网页的行为) Css让界面变得更加美观

一.什么是css?

  •   Cascading Style Sheets 通常称为CSS样式表或层叠样式表(级联样式表)
  •   CSS用于控制网页的外观 (HTML是用于控制网页结构的,JS是控制网页的行为)
  •   Css让界面变得更加美观  

二.如何使用JS操作CSS

  1.直接操作style(样式)

语法:元素.style.样式名 = 样式值;

注意:

  • 如果CSS的样式名中含有-这种名称在JS中是不合法的。
  • 比如background-color需要将这种样式名修改为驼峰命名法。
  • 去掉-,将-后的首字母大写   格式 : backgroundColor

功能实现:通过操作style给图片设置边框

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <img id="m1" src="img/1.gif">
    <br>
    <button onclick="fn1()">点我添加边框</button>
  <script>
    function fn1(){
      // 操作css的第一种方法:直接操作style属性
      // 给他设置一个边框
      m1.style.border="5px solid black";
      //使他变小width
      m1.style.width="40px";
      // 透明度
      m1.style.opacity=.5;
    }
  </script>
  </body>
</html>

 2.操作class属性

功能实现:通过操作class属性设置边框

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    /* class名 */
    .a{
      /* 边框大小 solid:实线  green:给边框设置颜色 */
      border: 10px solid green;
      box-shadow: 0px 0px 10px yellow;
    }
    </style>
  </head>
  <body>
    <img id="m2" src="img/2.gif">
    <img id="m3" src="img/3.gif">
    <br>
    <button onclick="fn2()">点我添加边框</button>
    <button onclick="fn3()">点我添加边框</button>
  <script>
    // 设置属性
    function fn2(){
      // setAttribute设置标签中的属性
     // 设置该标签的class属性名为a class="a";
      // 我们就可以具备了a里面的样式
      m2.setAttribute("class","a");
    }
    // 操作class属性
    function fn3(){
      // class是关键字
      // 标签中的class属性在js中叫做className;
      m3.className="a";
    }
  </script>
  </body>
</html>

三.代码实操

功能一

实现一个类似广告的功能,广告跟着我们的滚动条进行移动

实现思路:

1.我们要拿到滚动条移动的距离

2.广告跟着滚动条移动这里只需要沿着Y轴运动

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    div{
      border:2px solid black;
      /*绝对布局的特点:可以随便调整位置*/
        position: absolute;
           /*top bottom left right*/
       /* 离右边的距离为20px */
      right: 20px;
      /* 离左边的距离为40px */
          top: 40px;
      /* 移动间隔时间,可以不设置 */
      transition: .1s; 
    }
    </style>
  </head>
  <div id="d1">
    <!-- 点击事件,点击时关闭广告 -->
  <span onclick='d1.style.display="none"'>x</span>
  <br>
  <img src="img/4.gif">
  </div>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <p>哈哈哈</p>
  <script>
  // 想让图片跟着滚动条运动
  // <window:窗口 -->
     window.onscroll=()=>{
    //获取到窗口滚动的距离 scrollTop
    d1.style.top=40+document.documentElement.scrollTop+"px"
     }
  </script>
  </body>
</html>

功能二:让一个东西跟着鼠标移动

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    div{
      /* 设置大小 */
      width:180px;
      height:180px;
      background:red;
       position: absolute;
    }
    </style>
  </head>
  <body>
    <div id="d1"></div>
    <script>
    window.onmousemove=(e)=>{
      // 拿到鼠标的x和y轴
      // 让div跟着鼠标运动
      // d1.style.left=e.clientX+"px";
      // d1.style.top=e.clientY+"px";
      // 如果想要我们鼠标在div的中间
      // 减去中间的大小的一半,使鼠标在div正中间
      d1.style.left=e.clientX-90+"px";
      d1.style.top=e.clientY-90+"px";
    }
    </script>
  </body>
</html>

功能三:放大镜功能

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    div{
      /* 设置大小 */
      width:300px;
      height:300px;
      background: red;
      position: absolute;
       /*设置事件全部无效*/
       /* 因为我们 */
       pointer-events: none;
       display:none;
      }
      </style>
  </head>
  <body>
    <img id="m1" src="img/1.gif">
    <div id="div"></div>
    <script>
    // 当移入到图片时显示出来
    m1.onmouseover=(e)=>{
      div.style.display="block";
    }
    // 当从图片移出时图片消失
    m1.onmouseout=(e)=>{
      div.style.display="none";
    }
    // 鼠标移动事件,当移入到图片的时候,div变成该图片
    // 只在图片上面移动
    m1.onmousemove=(e)=>{
      div.style.left=e.clientX-50+"px";
      div.style.top=e.clientY-50+"px";
      // 当他移动到我们的图片上面时,我们让div变成图片的呀样子
      // url位置的意思 来自于图片的src属性,拿到图片
      // center/cover平铺的意思
      div.style.background="url("+m1.src+")  center/cover";
    }
    </script>
  </body>
</html>

以上就是本文的全部内容,感谢您的阅读。

相关文章
|
7天前
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
33 13
|
15天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
32 3
|
1月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
|
1月前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
优化CSS和JavaScript加载
|
1月前
|
缓存 前端开发 JavaScript
优化CSS和JavaScript加载
Next.js和Nuxt.js在优化CSS和JavaScript加载方面提供了多种策略和工具。Next.js通过代码拆分、图片优化和特定的CSS/JavaScript优化措施提升性能;Nuxt.js则通过代码分割、懒加载、预渲染静态页面、Webpack配置和服务端缓存来实现优化。两者均能有效提高应用性能。
|
1月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
132 1
|
1月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
47 3
|
1月前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
1月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
113 6
|
28天前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
17 0