JaveScript基础5 操作css样式

One 获取style里的内容

  <div id='box' style='width: 100px; height: 200px'></div>
  <script>
      var x = document.getElementById( 'box' );
          alert( x.sytle );
      </script>
1.png

获取得到的是css对象没办法得到里面的内容;
如果要得到内容 . 内容 → .width

  alert( x.style.width );
2.png

以上是单个行内样式的获取;

如果是获取整个的呢;

cssText

 alert( x.style.cssText );
3.png

这种方式只能获取行内样式的值
一般通过js是修改行内样式,如果修改内联样式跟外联样式还要考虑优先级;


修改行内样式

  <div id='box' style='width: 100px;height: 200px '></div>
  <script>
      var x = document.getElementById( 'box' );
          x.style.width = '200px'; 
  </script>
4.png

注意:对于修改 border-top 有 — 的属性时候;
        js里的 - 表示减→ 所以在js里要用 borderTop 来修改

  <div id='box' style='width: 100px;height: 200px '></div>
  <script>
      var x = document.getElementById( 'box' );
          x.style.border-top =  '2px solid red'; 修改不了
  </script>
5.png
<div id='box' style='width: 100px;height: 200px '></div>
  <script>
      var x = document.getElementById( 'box' );
          x.style.borderTop =  '2px solid red'; 通过borderTop来修改
  </script>
6.png
<div id='box' style='width: 100px;height: 200px;background: red; '></div>
  <script>
      var x = document.getElementById( 'box' );
          x.style.backgroundColor = 'greed';
  </script>

一般修改背景颜色用backgroundColor,如果用background复合属性设置(万一有背景图片就会被覆盖)

多个属性一起设置:

  <div id='box' style='width: 100px; height: 100px;'></div>
  <script>
       var oBox = document.getElementById( 'box' );
           oBox.style.width = '200px';
           oBox.style.height = '300px';
           oBox.style.marginLeft = '100px';
           oBox.style.backgroundColor = 'green';
   </script>

综合写法:

  <script>
       var oBox = document.getElementById( 'box' );
           oBox.style.cssText = 'width: 200px; height: 300px; margin-left: 100px;background-color: green;';
   </script>

注意:cssText = ‘里面是字符串,跟行内样式写法一样’


7.png

以上方法会把 style 里全部换成 cssText 设置:

  <div id='box'; style='width: 100px;height: 100px;margin-tip: 100px;';></div>
  <script>
     var oBox = document.getElementById( 'box' );
          oBox.style.cssText = 'width: 200px; height: 300px; margin-left: 100px;background-color: green;';
  </script>
8.png

原来的margin-top也会被替换掉;
用什么方法不会出现这样:

 <div id='box'; style='width: 100px;height: 100px;margin-tip: 100px;';></div>
  <script>
     var oBox = document.getElementById( 'box' );
          oBox.style.cssText += 'width: 200px; height: 300px; margin-left: 100px;background-color: green;';
  </script>
9.png

+=会增加进入   一样会覆盖掉    不同的会加进


利用类名来操作样式

在内联样式中先定义好样式,利用js加进去;
→前提注意优先级问题\

  <style>
      .box2{
             width: 200px;
             height: 200px;
             background: red;             
       }
  </style>
  <body>
        <div id= 'box' ;></div>
        <script>
            var  oBox = document.getElementById( 'box' );
                 oBox.className = 'box2';
        </script>
  </body>
Q10.png

js操作内联样式

获取:
  <style id='hh' >
      #box{
                width: 200px;
                height: 200px;
                background: red;
    }
  </style>
  <body>
      <div id='box' ></div>
      <script>
          var sHh = document.getElementById ( 'hh' ) ;
                alert ( sHh.innerHTML ) ;
      </script>
  </body>

弹出标签style里的所有css样式
11.png

设置

语法:Obj . innerHTML = ' css样式 '; css样式写法跟我们内联样式写法一样

  <script>
      sHh.innerHTML = '#box{width: 400px;height: 400px;background-color: green;}';
  <script>
12.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,126评论 0 40
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,037评论 1 4
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,598评论 32 459
  • 周末了,大家应该都很开心吧。看你发了个朋友圈状态是玩狼人杀很开心的样子。 我决定7月份安静地给他一个月去安静地过他...
    SweetCC阅读 162评论 0 0