diff --git a/src/languages/css.js b/src/languages/css.js
index ca3952c6c2..e9121740e9 100644
--- a/src/languages/css.js
+++ b/src/languages/css.js
@@ -58,7 +58,7 @@ export default function(hljs) {
begin: ':(' + css.PSEUDO_CLASSES.join('|') + ')'
},
{
- begin: '::(' + css.PSEUDO_ELEMENTS.join('|') + ')'
+ begin: ':(:)?(' + css.PSEUDO_ELEMENTS.join('|') + ')'
}
]
},
diff --git a/src/languages/less.js b/src/languages/less.js
index 08001098fc..b1ad793d9a 100644
--- a/src/languages/less.js
+++ b/src/languages/less.js
@@ -199,7 +199,7 @@ export default function(hljs) {
},
{
className: 'selector-pseudo',
- begin: '::(' + css.PSEUDO_ELEMENTS.join('|') + ')'
+ begin: ':(:)?(' + css.PSEUDO_ELEMENTS.join('|') + ')'
},
{
begin: /\(/,
diff --git a/src/languages/scss.js b/src/languages/scss.js
index 87a07cc4d4..f44f8ee57c 100644
--- a/src/languages/scss.js
+++ b/src/languages/scss.js
@@ -55,7 +55,7 @@ export default function(hljs) {
},
{
className: 'selector-pseudo',
- begin: '::(' + PSEUDO_ELEMENTS.join('|') + ')'
+ begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')'
},
VARIABLE,
{ // pseudo-selector params
diff --git a/test/markup/css/pseudo.expect.txt b/test/markup/css/pseudo.expect.txt
index 1ea40bb2ab..c6833dcef0 100644
--- a/test/markup/css/pseudo.expect.txt
+++ b/test/markup/css/pseudo.expect.txt
@@ -1,5 +1,5 @@
-.test:before,
-.test:after {
+.test:before,
+.test:after {
color: pink;
color: red;
}
diff --git a/test/markup/less/css_consistency.expect.txt b/test/markup/less/css_consistency.expect.txt
index 5df3c49ffc..7d2646167a 100644
--- a/test/markup/less/css_consistency.expect.txt
+++ b/test/markup/less/css_consistency.expect.txt
@@ -22,7 +22,9 @@
a:visited { color: blue; }
div::after { content: "test"; }
+div:after { content: "test"; }
div::before { content: open-quote; }
+div:before { content: open-quote; }
span:nth-child(33) { color:red; }
p:lang(en) {}
diff --git a/test/markup/less/css_consistency.txt b/test/markup/less/css_consistency.txt
index 1f2354ba28..fdf6529313 100644
--- a/test/markup/less/css_consistency.txt
+++ b/test/markup/less/css_consistency.txt
@@ -22,7 +22,9 @@ h1, h2, figcaption, aside, main, form, footer {}
a:visited { color: blue; }
div::after { content: "test"; }
+div:after { content: "test"; }
div::before { content: open-quote; }
+div:before { content: open-quote; }
span:nth-child(33) { color:red; }
p:lang(en) {}
diff --git a/test/markup/scss/css_consistency.expect.txt b/test/markup/scss/css_consistency.expect.txt
index 53fda48980..fa8feaa41c 100644
--- a/test/markup/scss/css_consistency.expect.txt
+++ b/test/markup/scss/css_consistency.expect.txt
@@ -22,7 +22,9 @@
a:visited { color: blue; }
div::after { content: "test"; }
+div:after { content: "test"; }
div::before { content: open-quote; }
+div:before { content: open-quote; }
span:nth-child(33) { color:red; }
p:lang(en) {}
diff --git a/test/markup/scss/css_consistency.txt b/test/markup/scss/css_consistency.txt
index 1f2354ba28..fdf6529313 100644
--- a/test/markup/scss/css_consistency.txt
+++ b/test/markup/scss/css_consistency.txt
@@ -22,7 +22,9 @@ h1, h2, figcaption, aside, main, form, footer {}
a:visited { color: blue; }
div::after { content: "test"; }
+div:after { content: "test"; }
div::before { content: open-quote; }
+div:before { content: open-quote; }
span:nth-child(33) { color:red; }
p:lang(en) {}