Windows Internet Explorer 8. The -ms-accelerator attribute is an extension to CSS, and can be used as a synonym for accelerator in IE8 Standards mode.
This text is from the MSDN reference.
I'm not sure, should I use -ms vendor in this case or not.
Can be used as a synonym - they mean I can ommit a vendor prefix, or it should be used for ie8?
This question isn't specific for accelerator only.
-ms- is simply Trident's prefix. Like -webkit- is for webkit, -moz- for gecko, and so on and so forth. It's simply used to trial experimental features.
Related
I am following an tutorial that is typing -webkit-box-sizing: border-box; in the style.css nothing seems to happen when I write it... I am on windows and using atom. is it something you need to download? I understand an engine and something to do with animation in chrome/safari.
No need to download anythig. webkit is one of the prefixes used to make experimental css properties work for other browsers, they are temporary and you should remove them from your code once a property is fully supported by all browsers.
This is a list of prefixes used:
-webkit- (Chrome, Safari, iOS Safari / iOS WebView, Android)
-moz- (Firefox)
-ms- (Edge, Internet Explorer)
-o- (Opera, Opera Mini)
to determine if a property need vendor prefixes or not, use Can I Use they mention on the notes if the property searched is experimental.
once you found that you need to use prefixes, here is an easy tool to auto-prefix
AutoPrefixes
the following are some articles for more in depth reading:
https://flaviocopes.com/css-vendor-prefixes/
https://www.lifewire.com/css-vendor-prefixes-3466867
https://bitsofco.de/css-vendor-prefixes/
There are a lot of vendor prefixes that try to make cross browsers compatibility between the old and new versions ...
my question is it temporary until all old browsers disappear or updated and then no need for it ?
Or we can depend on it when a new level of css shipping to cover maybe the gab between supported and unsupported browsers again?
Thanks
There's a long answer here, i'll try the short one first.
The vendor tags are a tryhard to avoid glitches or the no-rendering of some properties/attributes. If you need to support an old browser that is obsolete and unsupported you may need those vendor tags. If you are working on browsers with support, when they are updated, this vendor tags will not be necessary anymore.
Are there any update timeline to know when and when not a vendor tag is needed? No
Can we check if some vendor tag is needed on some property? Yes, here, if you want to support a browser that is not capable to run some property, try adding vendor tag.
Remember that vendor tag is not a magician, and it can't render things, the capability of the render engine dealing with vendor tags is different on all versions of the same browser, so i recommend you to check if it really works.
Looking to a realistic future, vendor tags will keep working as they worked till nowadays, giving mostly cross-browser compatibility between older and newer versions.
Historically, vendors have also used prefixes for experimental APIs. If an entire interface is experimental, then the interface's name is prefixed (but not the properties or methods within). If an experimental property or method is added to a standardized interface, then the individual method or property is prefixed.
Interface prefixes
Prefixes for interface names are upper-cased:
WebKit (Chrome, Safari, newer versions of Opera, almost all iOS browsers (including Firefox for iOS); basically, any WebKit based browser)
Moz (Firefox)
O (Older, pre-WebKit, versions of Opera)
MS (Internet Explorer and Microsoft Edge)
Property and method prefixes
The prefixes for properties and methods are lower-case:
webkit (Chrome, Safari, newer versions of Opera, almost all iOS browsers (including Firefox for iOS); basically, any WebKit based browser)
moz (Firefox)
o (Old, pre-WebKit, versions of Opera)
ms (Internet Explorer and Microsoft Edge)
Remember that saying "experimental" is subjective, for example, background-size was experimental on I.E. 8, Chrome 3 and FF 3 but it had native support on versions 9, 4 and 4 respectivelly.
Now, to answer your questions with the info:
Vendor prefixes are made to be temporary (till browsers support the feature you're prefixing), but you'll need to add vendor prefixes to new "experimental" features if you want to use it, so yes, you'll need vendor prefixes in a future, but to add cross browser compatibility on different properties etc.
I'm trying to find out if I need to include the -o-animation vendor prefix in my CSS, but I can't seem to find any resources which indicates it exists, and if it does, what versions of Opera it applies to.
Can anyone offer some suggestions?
The -o-animation vendor prefix is no longer required for Opera, unless you need to support old Opera v12.** versions.
Instead, use the -webkit-animation vendor prefix to support newer Opera.
According to Opera 12.10 release notes, you didn't need the -o- vendor prefix from that version on. Adding -o- was therefore just needed to support Opera 12.0x versions.
This question already has answers here:
Why do browsers create vendor prefixes for CSS properties?
(2 answers)
Closed 3 years ago.
I just downloaded a css file from this website and it contains properties such as -webkit-transform and -moz-transform. What does the dash mean and under what circumstances is it required?
For the nity grity does the phrase "vendor prefix" refer to the - or the content between the - and - (exuding the - and -) or the content between the - and - (including the - themselves)?
In other words does vender prefix refer to the dash itself or only the content between the dashes or the dashes with the content between them?
-webkit- and -moz- here are called vendor prefixes; they generally indicate a browser-specific feature of CSS, or one that’s under development/still a draft and can’t be considered a standard yet. When these features are used “ahead of time”, the only way to make it work in every browser is sometimes to provide a different rule with a different prefix for each one — that’s what you see in the project. The idea is that eventually, though, the feature will be standardized, browsers will drop the prefixes, and life will go on.
-webkit-gradient, for example, was the first way to define a gradient in CSS, but was replaced by a completely different linear-gradient and radial-gradient syntax.
A convenient way to find out what browsers support a certain feature and what prefixes you need if you’re using it before a definitive standard or global unprefixed browser support is Can I Use….
Some common prefixes are:
-webkit- for WebKit-based browsers, including Chrome/Chromium and Safari
-moz- for Firefox
-ms- for Internet Explorer (9 and up)
-o- for Opera (pre-WebKit)
They are called vendor prefixes. Different browsers have different prefixes:
-webkit- - Webkit based browsers such as Safari and Chrome
-moz- - Gecko based browsers such as Firefox
-ms- Internet Explorer
-o- Presto based browsers such as Opera
Vendor prefixes are used to denote experimental CSS features. They are used when a specific property or spec is not considered stable, and may change in the future. By using a prefix, the browser can experiment with that feature without the risk that developers will make use of the property and sites will break if the behaviour or syntax changes. Once the spec becomes final, the prefix is removed, and some browser will remove support for the prefixed version.
The official guidance from the W3C is that prefixes should be used until the spec from which the property or feature is from reaches Candidate Recommendation.
The general best practice is to use all vendor prefixes one after another, and the unprifixed version last.
Mozilla and Chrome (now they're moving to the Blink engine) have changed policy to hiding the feature behind a flag, rather than using a prefix. This means the feature will not be available to use unless the user enables that flag.
For more information, see this wiki page from the CSS Working Group: http://wiki.csswg.org/spec/vendor-prefixes
I have been learning about IE's rather ridiculous-looking requirements for shadows, gradients, etc., and I'm running into some contradictions on this point:
Many sites suggest the following lines are necessary for a gradient/shadow combination:
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#F8F8F8') progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=170, Color='#C6C6C6');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#F8F8F8') progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=170, Color='#C6C6C6')"; }
CSS3Please.com suggests only the first filter is necessary for full compliance with IE 5.5-9, i.e. that the -ms-filter is of no use at all. Is -ms-filter needed any more or was that a temporary case in IE's development?
To answer your question even though I don't agree with its use, no it is not required. The "-ms-" prefix and other prefixes (such as "-moz-" and "-webkit-") are browser-specific and are usually just used while browsers are developing new properties. They leave the prefixed properties in later versions of the browser so that webpages using the prefixed property will still work, but both ways do the exact same thing.
P.S. IE 9 does support CSS3. It was released with Windows 7 SP1.