diff --git a/common.blocks/button/button.bemhtml b/common.blocks/button/button.bemhtml
index f0b66d137..a06a159be 100644
--- a/common.blocks/button/button.bemhtml
+++ b/common.blocks/button/button.bemhtml
@@ -45,7 +45,7 @@ block('button')(
var ctx = this.ctx,
content = [ctx.icon];
// NOTE: wasn't moved to separate template for optimization
- ctx.text && content.push({ elem : 'text', content : ctx.text });
+ 'text' in ctx && content.push({ elem : 'text', content : ctx.text });
return content;
},
match(function() { return typeof this.ctx.content !== 'undefined'; })(function() {
diff --git a/common.blocks/button/button.bh.js b/common.blocks/button/button.bh.js
index 1d40f8965..fac75a1e1 100644
--- a/common.blocks/button/button.bh.js
+++ b/common.blocks/button/button.bh.js
@@ -26,7 +26,7 @@ module.exports = function(bh) {
var content = ctx.content();
if(typeof content === 'undefined') {
content = [json.icon];
- json.text && content.push({ elem : 'text', content : json.text });
+ 'text' in json && content.push({ elem : 'text', content : json.text });
ctx.content(content);
}
});
diff --git a/common.blocks/button/button.js b/common.blocks/button/button.js
index c6f99e507..ff3a7b24c 100644
--- a/common.blocks/button/button.js
+++ b/common.blocks/button/button.js
@@ -71,7 +71,7 @@ provide(BEMDOM.decl({ block : this.name, baseBlock : Control }, /** @lends butto
* @returns {button} this
*/
setText : function(text) {
- this.elem('text').text(typeof text === 'undefined'? ' ' : text);
+ this.elem('text').text(text || '');
return this;
},
diff --git a/design/common.blocks/select/_theme/select_theme_normal.styl b/design/common.blocks/select/_theme/select_theme_normal.styl
index 2fe946b79..e694f3507 100644
--- a/design/common.blocks/select/_theme/select_theme_normal.styl
+++ b/design/common.blocks/select/_theme/select_theme_normal.styl
@@ -12,6 +12,11 @@
.button__text
{
display: block;
+
+ &:empty:before
+ {
+ content: '\00a0';
+ }
}
&.button_size_s .button__text