浏览器私有属性前缀及去除方法

什么是浏览器私有属性前缀

CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式。它暗示该CSS属性或规则尚未成为W3C标准的一部分。

以下是几种常用前缀

  • -webkit-
  • -moz-
  • -ms-
  • -o-
  • -khtml-(现在基本都没有用了,被-webkit-取代)

举例来说,一个CSS3圆角的代码是:

-webkit-border-radius: 50%;
-o-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;

CSS3前缀+标准代码的顺序

既然CSS3代码中(暂时)需要写上这么多前缀,那么他们的顺序是如何的呢?

一篇文章中详细分析了代码顺序:ordering css3 properties

结论:是先写私有的CSS3属性,再写标准的CSS3属性。

-webkit-transform:rotate(-3deg); /*为Chrome/Safari*/
-moz-transform:rotate(-3deg); /*为Firefox*/
-ms-transform:rotate(-3deg); /*为IE*/
-o-transform:rotate(-3deg); /*为Opera*/
transform:rotate(-3deg); /*为nothing*/

去掉CSS3前缀

什么时候我们可以去掉一个属性的CSS3前缀呢?答案是,当一个属性成为标准,并且被Firefox、Chrome等浏览器的最新版普遍兼容的时候。

以border-radius为例:

-moz-border-radius: 12px; /* FF1-3.6 */
-webkit-border-radius: 12px; /* Saf3-4, iOS 1-3.2, Android <1.6 */
border-radius: 12px; /* Opera 10.5, IE9, Saf5, Chrome, FF4, iOS 4, Android 2.1+ */

FF4、Saf5以及Chrome都支持border-radius属性了,我们就没有必要写以上两条了,代码变成:

border-radius: 12px;

彻底甩掉css3前缀

你知道Css3的很多数属性为实验属性,使用他们的时候得加上各式各样的浏览器前缀。可能你默默忍受了,因为还没到统一的时间。有没想过给自己减下 负,偶然间在网上看到一个js解决方案,正好可以解决这个问题。他会帮你自动识别浏览器,生成对应的Css3样式前缀,这样你就可以直接当作标准属性来使 用了。

引用方式:<script src=”http://leaverou.github.com/prefixfree/prefixfree.min.js”></script>

该js项目地址为http://leaverou.github.com/prefixfree/。 事物总是有两面性,带来方便的同时,也引入了一些问题,因为是基于js的,所以对于一些不支持或者禁用js的浏览器用户是很不友好的,很可能会打乱布局, 而且有时候会影响你使用Css的一些技巧(比如你只是想针对某个浏览器使用某个Css3属性,由于这个js的作用,所有浏览器都会应用该条属性,明显这不 是你想要的结果)

时间: 2024-08-26 10:58:48

浏览器私有属性前缀及去除方法的相关文章

css3浏览器私有属性前缀使用详解

什么是浏览器私有属性前缀 CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分. 以下是几种常用前缀 -webkit- -moz- -ms- -o- -khtml-(现在基本都没有用了,被-webkit-取代) 举例来说,一个CSS3圆角的代码是: -webkit-border-radius: 50%; -o-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius

css3私有属性前缀及主流浏览器内核

现代浏览器的内核,主流内容主要有Mozilla(熟悉的有Firefox,Flock等浏览器).WebKit(熟悉的有Safari.Chrome等浏览器).Opera(Opera浏览器).Trident(讨厌的IE浏览器). 根据不同的内核,一些私有属性的css前缀不一样 Mozilla内核 css前缀-moz; WebKit内核 css前缀-webkit ;   Opera 内核 css前缀 -o ; Trident内核 css前缀 -ms ; 转载:http://www.cnblogs.com

Python私有属性set 和get方法

class Person(object): #self不是关键字,换成其他的标识符也是可以的,但是一般不要改 def run(self): print("run") def eat(self,food): print("eat" + food) def say(self): print("hello! my name is %s,i am %d years old" %(self.name,self.age)) def __init__(self

浏览器私有属性

一.css中抬头 ::-moz代表firefox浏览器私有属性 ::-ms代表ie浏览器私有属性 ::-webkit代表safari.chrome私有属性 ::-o代表opera 二.常见的中私有属性拿chrome浏览器举例 ::如果前面为空代码全局,如果前面有某个元素的css选择器代表改元素的对于内容 1.输入框 ::-webkit-input-placeholder {} //阻止input出现黄色背景 input:-webkit-autofill { background-color: #

Python私有属性set和get方法2

class Person(object): count = 0 #类属性 def __init__(self,name,age):#实例属性 # self.__name = name#name是私有属性:私有属性接收是set/get方法; # self.__name 也可以用 self.setName(name) 这样的好处是在创建实例的时候,不用再重新去给赋值(调用set方法),初始化就可以赋值 self.setName(name) self.age = age def run(self):

0071 浏览器私有前缀

浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无须添加. 私有前缀 ? -moz-:代表 firefox 浏览器私有属性 ? -ms-:代表 ie 浏览器私有属性 ? -webkit-:代表 safari.chrome 私有属性 ? -o-:代表 Opera 私有属性 提倡的写法 -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; 原文地址

__set($key,$values) 和__get($varName) 魔术方法设置读取私有属性

__set($key,$val) 对类内私有属性赋值 作用:对私有属性的处理 当在类外对类内的私有属性赋值时会自动调用此函数 __get($varName) 读取类内私有属性 作用:虽然可以外部访问,但有限制条件,否则直接public即可,不需要私有化此属性 根据限制条件 开放访问权限 当对象调用类内私有属性时调用此方法 必须有返回值 return $this->$varName class A{ private $name; private $age; function __set($key,

Java中子类能继承父类的私有属性吗?

前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先看下面一段代码 /** * 定义父类 * @author CBS */ public class Father { private String name;//私有属性 private char sex; public void tell(){ System.out.println(name+sex

夺命雷公狗---javascript NO:31 私有属性

1.什么是私有属性 在JavaScript代码中,是没有public/protected/private等定义属性的关键词,但是我们可以通过模拟的方式来实现这个过程. 在JavaScript只有两种属性: 一种共有属性 一种私有属性 2.定义私有属性 在构造器内部,通过this定义的属性就是公有属性 在构造器内部,通过var定义的属性就是私有属性 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <