The Internet. Network of things?
Have you heard anything about the Internet of things? I am sure that few people know about this concept. I also did not know until I accidentally heard a broadcast…

Continue reading →

Internet telephony for beginners: where is the truth and where is the myth?
Each user of the World Wide Web has repeatedly wondered how to call over the Internet for free or at a very low price. Many honestly looked through dozens or…

Continue reading →

What should be a good selling site?
The topic for this post was born to me a long time ago, but after the next communication with one potential client, I decided not to postpone it anymore and…

Continue reading →

Advanced CSS Hacks Collection

A hack is a method that allows CSS to be perceived only by a specific browser.
Hacks can be used not only to fix bugs in the layout, but also if certain browser features are used to speed up the rendering of a web page in it (for example, CSS3 properties)

ALL KNOWN CONDITIONAL COMMENTS IN IE
Despite their fame, there are many rarely used ones.
For example, a stylesheet that will be visible to all browsers except IE versions 5-8.
<! – [if! IE] -> <link href = “styles.css” rel = “stylesheet” media = “all” /> <! – [endif] ->

Conditional comments for the 6th, 7th, 8th version (the 8th version also supports them – do not be surprised):
<! – [if IE 6]> <link href = “ie6.css” rel = “stylesheet” media = “all” /> <! [endif] ->
<! – [if IE 7]> <link href = “ie7.css” rel = “stylesheet” media = “all” /> <! [endif] ->
<! – [if IE 8]> <link href = “ie8.css” rel = “stylesheet” media = “all” /> <! [endif] ->
OTHER HACKS FOR IE
* html .class {background: red}

If the html page has a doctype, this hack only works for IE6.
In the case of quirks-mode, the hack works in IE6 and IE7.

* + html .class {background: red}

or
*: first-child + html .class {background: red}

In case the html page has a doctype, this hack works in IE7.
DIRTY HACKS OPERATING ONLY IN IE6
.class {
_background: red
}

.class {
-background: red
}

DIRTY HACKS OPERATING ONLY IN IE7
– ,. class {
background: red;
}

DIRTY HACKS WORKING IN IE6 AND IE7
.class {
* background: red
}

.class {
// background: red;
}

.class {background: red! ie}

A hack that works in IE6 and IE7 by analogy with the! Important property.
DIRTY HACK FOR IE6, IE7 & SAFARI
html * .class {background: red}

Nuance – in Google Chrome 2 does not work. The hack comes in handy for a general CSS file for IE when you need to separate styles from 8s
DIRTY HACK FOR SAFARI 3
html: root * .class {background: red}

Also does not work in Chrome 2. You can find out about the reason for using this hack and other safari hacks here.
DIRTY HACK FOR FF2, FF3
@ -moz-document url-prefix () {
.class {background: red}
}

DIRTY HACK FOR FF2, FF3 AND IE7
x: -moz-any-link, .class {background: red}

DIRTY HACK FOR FF3 AND IE7
x: -moz-any-link, x: default, .class {background: red}

DIRTY HACK FOR OPERA 9.5 AND IE7
noindex: -o-prefocus, .class {background: red}

In order to turn it into a hack only for opera, use any framing hack that does not support IE7.
HACK FOR FF2, FF3, SAFARI 3, CHROME 2, OPERA 9.5
html: root .class {background: red}

HACK FOR SAFARI 3 AND 4 !, CHROME 2
@media screen and (-webkit-min-device-pixel-ratio: 0) {
body: first-of-type .class {background: red}
}

HACKS FOR SAFARI 3, CHROME 2, OPERA 9.5
body: first-of-type .class {background: red}

@media all and (min-width: 0) {
.class {background: red}
}

HACK FOR FF2, FF3, SAFARI 3 AND CHROME 2
html: not ([lang * = “”]): not (: only-child) .class {background: red}

This hack can be used, for example, if you want for Safari and FF to make rounded corners using CSS, and for other browsers you want them to be pictures.
SEPARATION OF STYLES FROM IE6
<! – [if! IE 6] -> <link href = “styles.css” rel = “stylesheet” media = “all” /> <! – [endif] ->

html> body .class {background: red}

head + body .class {background: red}

html: first-child .class {background: red}

SEPARATION OF STYLES FROM IE6 AND IE7
html> / ** / body .class {background: red}

SEPARATION OF STYLES FROM IE6-8
* | html .class {background: red}

html: not ([lang * = “”]) .class {background: red}

ABOUT STYLE DIVISION FOR IE
Microsoft itself recommends the use of conditional comments (official blog). In my work I use conditional comments for all IE:
<! – [if IE]> <link href = “ie.css” rel = “stylesheet” media = “all” /> <! [endif] ->

And then I additionally separate the hacks * html and * + html styles for IE6 and IE7, respectively. The remaining styles are obtained for all IE.
CHANGING THE IE8 RENDERING
Adding this line to the header of the web page changes the type of rendering depending on the value of content (this is not a hack, but still a thing very similar in properties to a hack):
<meta http-equiv = “X-UA-Compatible” content = “IE = 8” />

The basic values ​​of content are as follows:
“IE = 7” – turns on the Strict mode in which all pages are rendered;
“IE = EmulateIE7” – turns on IE7 compatibility mode, in which depending on DOCTYPE either standard rendering mode (Strict) or quirks mode (Quirks) will be applied;
“IE = EmulateIE8” – the page is forced into the “IE8 Standards” mode, regardless of whether the Compatibility View mode is enabled in the user’s browser, and quirks pages are displayed in Quirks mode.
“IE = 8” – the mode of maximum compliance with the IE8 Standards standards is turned on.
In case of reluctance to rewrite old projects under IE8 – you can use IE = EmulateIE7

In all the examples listed above .class is an example of a class (you can specify an id, a tag, etc.), and background: red is an example of a property and its value.

File encryption
Encryption is the most common and essentially the simplest way to protect any information. After all, it seems that it could be simpler to take the text, take some algorithm…

...

Online store and product search function
Today I decided to touch on the topic of the need and proper configuration of the function of searching for goods in the online store. According to statistics, every second…

...

What should be a good selling site?
The topic for this post was born to me a long time ago, but after the next communication with one potential client, I decided not to postpone it anymore and…

...

Destination of proxies and NAT
A proxy server is designed to mediate between a workstation and a worldwide network. The proxy computer passes user requests through itself and then returns the results received from Inetrnet.…

...