美文网首页
Day01(css3选择器,demo 添加节点)

Day01(css3选择器,demo 添加节点)

作者: AnnQi | 来源:发表于2017-11-07 14:27 被阅读0次
浏览器的私有前缀有哪些呢?
-moz-       /*火狐等使用Mozilla内核的浏览器
-webkie-   /*Safari、谷歌等使用webkit内核的浏览器
-o-      /*opera 浏览器
-ms-        /*IE内核浏览器

css3选择器

1.属性选择器
Element[attr]表示attr存在即可

E[attr=‘val’]表示属性值完全等于val值

E[attr~=’val’] 表示一个单独的属性值,用空格分割开来

E[attr |= ‘val’]表示要么是一个单独的属性值,要么以“-”分割开来

E[attr*=’val’]表示属性值包含val字符并且在任意位置

E[attr^=’val’]表示属性值包含val字符,并且在开始位置

E[attr$=’val’]表示属性值包含val字符,并且在结束位置
2.伪类选择器
E:nth-child(n) 第n个元素,计算方式是E元素的全部兄弟元素
li:nth-child(2)所有li的第二个兄弟

E:first-child 相对于父级作参考,‘所有’子元素的第一个元素

E:last-child 相对父级做参考,‘所有子元素’的最后一个元素

E:nth-of-type(n) 第N个子元素,计算方法,只算E元素,会忽略其他元素

E:nth-last-child(n)计算方法和E:nth-child相同,只不过从后往前数

E:nth –last-of-child(n)计算方法和E:nth-of-type相同,只不过从后往前数

E:only-child表示当前以E确定的父元素,除了E以外没有其他子元素,就选择E

E:only-of-type表示同类型的子元素E是唯一的,就选择E

E:target结合锚点使用,处于当前锚点的元素会被选择

E:empty选中没有任何子节点的E元素
3.伪元素选择器
E::selection 可以改变选中文本的样式
E::after在E元素后面添加一个元素
E::before在E元素前面添加一个元素

E:after和E:before在旧版本里面,是伪类,但是在新版本里面,他们是伪元素,所以他们会被浏览器自动识别成E::after和E::before
“:”和“::”的区别?
一个冒号的时候,代表是伪类,当两个冒号的时候,代表是伪元素、
4.透明度
Opacity的透明会将整个元素透明化,包括子元素在内,而rgba则只透明背景色,而不会改变子元素以及内容
1.opacity子元素会继承父元素,在实际开发中容易带来干扰
2.transparent设置透明,则会完全将元素玻璃化,彻底透明
5.颜色
在CSS3中,新增了RGBA、HSLA模式,也就是说,之前的设置英文,设置十进制,都是CSS2的,
这两种算是通道调色,其中A代表着透明通道,相比较opacity,不会具有继承性,也不会影响到子元素的透明度
R red  ,G green , B blue,A alpha,即成RGBA
RGB取值范围是0~255,
H取值范围是0~360,0/360代表红色,120代表绿色,240代表蓝色
H 颜色,S饱和度,L亮度,A透明度
S的取值范围是0%-100%
L的取值范围是0%-100%
A的取值范围是0-1
6.文本
文本阴影与边框阴影相似,可以分别设置偏移量,模糊度,颜色(可以设置透明度)

单行文本溢出,必须配合三个属性使用:
第一个,文本强制不换行:white-space: nowrap
第二个,溢出隐藏:overflow: hidden;
第三个,文本溢出:text-overflow: ellipsis;
多行文本溢出:
text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;

存在很多问题,兼容性极差,平时想要做多行文本溢出,最好采用JS辅助完成,尽量不要采用这个方法;

demo 添加节点

<style>
            *{
                margin: 0;
                padding: 0;
            }
            button{
                width: 100px;
                height: 30px;
                cursor: pointer;
                font-size: 16px;
            }
            
            
            span{

                width: 20px;
                height: 20px;
                background: blue;
                border-radius: 50%;
                cursor: pointer;
                position: fixed;
                left: 0;
                top: 5%;
            }
        </style>
    </head>
    <body>
        <button id="btn">添加节点</button>
        <div class="box" id="box">
        
        </div>
    </body>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        
    //JS写法  
        
//      var btn = document.getElementsByTagName("button")[0];
//      var box = document.getElementById("box");
//      
//              
//      btn.onclick = function(){
//          var span = document.createElement("span");
//          box.appendChild(span);
//                                      
//          span.onmousedown = function(e){
//              var e = e || window.e;
//              var x = e.clientX - this.offsetLeft;
//              var y = e.clientY - this.offsetTop;
//              document.onmousemove = function(e){
//                  var e = e || window.e;
//                  span.style.left = e.clientX - x + "px";
//                  span.style.top = e.clientY - y + "px";
//              }
//          }
//
//          document.onmouseup = function(){
//              document.onmousemove = null;
//          }
//      }
                
        
        
                
    //JQ写法
    
        $("#btn").click(function(){
            var span = document.createElement("span");  
            $("#box").append(span);
            doDrag(span);
        
            
            
        })
                
        function doDrag(obj){
            var posX,posY;
            $(obj).mousedown(function(event){
                event = event||window.event;
                posX = event.clientX - $(this).offset().left;
                posY = event.clientY - $(this).offset().top;
                $(document).on('mousemove',function(e){
                    e = e||window.e;
                    $(obj).css({'left':(e.clientX-posX),'top':(e.clientY-posY)});
                });
            });
            $(obj).mouseup(function(){
                $(document).off('mousemove');
            });     
            
        }   
            
                
    </script>

相关文章

  • Day01(css3选择器,demo 添加节点)

    浏览器的私有前缀有哪些呢? css3选择器 1.属性选择器 2.伪类选择器 3.伪元素选择器 4.透明度 5.颜色...

  • 初级了解css3伪类选择器

    在 CSS3 中,选择器是一种模式,用于选择需要添加样式的元素。 先来了解一下css3选择器的分类 css3选择器...

  • AR-台灯绕着相机旋转

    核心:在相机根结点上添加占位节点,占位节点上添加台灯节点,给占位节点添加旋转动画 demo 链接:https://...

  • selenium元素定位之cssSelector,使用chrom

    cssSelector简介 CSS 选择器参考手册 CSS3选择器 在CSS中,选择器是一种模式,用于选择需要添加...

  • 前端面试之 CSS3 新特性

    原文链接 除了html5的新特性,CSS3的新特性也是面试中经常被问到的。 选择器 CSS3中新添加了很多选择器,...

  • CSS3选择器

    CSS3选择器分类: 通过基本选择器就可以确定HTML树形结构中大多数的DOM元素节点。 选择器类型说明 *通配选...

  • jQuery入门(一)选择器

    样式选择器 语法 实例 属性选择器 语法 查找父节点-指定类型 demo1-查找当前对象的第一个tr父节点对象 d...

  • CSS3 选择器

    CSS3 选择器 在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。 "CSS" 列指示该属性是在哪个...

  • css3 新特性 最新总结

    一、选择器 CSS3中新添加了很多选择器,解决了很多之前需要用javascript才能解决的布局问题。 eleme...

  • CSS3知识概要总结之选择器篇(二)

    是的,从这里开始我们就开始学习CSS3的选择器了,学习资源CSS3选择器 属性选择器 属性选择器 发现属性选择器真...

网友评论

      本文标题:Day01(css3选择器,demo 添加节点)

      本文链接:https://www.haomeiwen.com/subject/jiwdmxtx.html