{"action":"created","comment":{"url":"https://api.github.com/repos/bem/bem-method/pulls/comments/38297671","id":38297671,"diff_hunk":"@@ -0,0 +1,381 @@\n+Frequently asked questions\n+==========================\n+\n+Why BEM?\n+--------\n+\n+-   [How does BEM differ from OOCSS, AMCSS, SMACSS, SUITCSS?](#how-does-bem-differ-from-oocss-amcss-smacss-suitcss)\n+-   [What is the difference between BEM and Web Components?](#what-is-the-difference-between-bem-and-web-components)\n+-   [What is the difference between BEM and Bootstrap?](#what-is-the-difference-between-bem-and-bootstrap)\n+\n+Blocks and elements\n+-------------------\n+\n+-   [A block or an element: when should I use which?](#a-block-or-an-element-when-should-i-use-which)\n+-   [Why does BEM not recommend using elements within elements (`block_elem1_elem2`)?](#why-does-bem-not-recommend-using-elements-within-elements-block_elem1_elem2)\n+-   [Why include the block name in modifier names and element names?](#why-include-the-block-name-in-modifier-names-and-element-names)\n+-   [How do I make global modifiers for blocks?](#how-do-i-make-global-modifiers-for-blocks)\n+-   [Why create separate directories and files for every block and technology?](#why-create-separate-directories-and-files-for-every-block-and-technology)\n+\n+JavaScript\n+----------\n+\n+-   [Why use `i-bem.js` when you have jQuery?](#why-use-i-bem.js-when-you-have-jquery)\n+\n+CSS\n+---\n+\n+-   [Why should I avoid using nested selectors?](#why-should-i-avoid-using-nested-selectors)\n+-   [Why does BEM advise against using combined selectors for creating CSS rules for modifiers?](#why-does-bem-advise-against-using-combined-selectors-for-creating-css-rules-for-modifiers)\n+-   [Can I combine a tag and a class in a selector (e.g. `button.button`)?](#can-i-combine-a-tag-and-a-class-in-a-selector-eg-buttonbutton)\n+-   [Why are custom tags not used for blocks in BEM?](#why-are-custom-tags-not-used-for-blocks-in-bem)\n+-   [Why can't I use a CSS Reset?](#why-cant-i-use-a-css-reset)\n+-   [Why can't I write `<div class=\"block_mod\">` instead of `<div class=\"block block_mod\">`, when the modifier name already contains all the block data?](#why-cant-i-write-div-class-block_mod-instead-of-div-class-block-block-mod-when-the-modifier-name-already-contains-all-the-block-data)\n+-   [Why can't I include a CSS property name in a modifier name: `.block__element_border-color_grey`?](#why-cant-i-include-a-css-property-name-in-a-modifier-name-block__element_border-color_grey)\n+\n+**Not found your question?** — [Ask our team on the forum](https://en.bem.info/forum/)\n+\n+How does BEM differ from OOCSS, AMCSS, SMACSS, SUITCSS?\n+-------------------------------------------------------\n+\n+1.  BEM is applicable to JavaScript as well as CSS.\n+2.  BEM has more in common with Web Components than with the CSS solutions listed. ([What is the difference between BEM and Web Components?](#what-is-the-difference-between-bem-and-web-components))\n+3.  BEM provides a comprehensive solution for creating the architecture for your project and helps organize development processes. For details, see the section [Using the methodology for solving web development problems](../method/solved-problems/solved-problems.ru.md) (in Russian only).\n+\n+> Find out more about the [BEM methodology](https://en.bem.info/method/).\n+\n+It is possible to use BEM at the CSS level only. You just need to follow the [guidelines proposed by the methodology](../method/naming/naming-convention.en.md).\n+\n+What is the difference between BEM and Web Components?\n+------------------------------------------------------\n+\n+Browser support\n+\n+-   Web Components [are not supported](http://caniuse.com/#search=Web%20Components) by Safari, iOS Safari, Internet Explorer, Firefox.\n+-   BEM works in all browsers.\n+\n+Encapsulation\n+\n+-   Web Components use Shadow DOM.\n+-   BEM uses block [elements](../method/definitions/definitions.en.md#element).\n+\n+Template execution\n+\n+-   In Web Components, templates are always executed in the browser. This may involve solving some indexing problems.\n+-   In BEM, template generation is possible at the development stage. This let us pass the ready HTML. Templates can be executed both in the browser and on the server side.\n+\n+-   Web Components are based on an imperative principle, using string interpolation.\n+-   BEM uses a declarative approach, which helps manage templating in a flexible way and avoid redundancy. For a detailed explanation about the difference between a declarative and imperative approaches, watch [Sergey Berezhnoy](https://en.bem.info/authors/berezhnoy-sergey/)'s [Templating engines](https://events.yandex.ru/lib/talks/553/) talk (in Russian).\n+\n+Build vs HTML import\n+\n+-   Web Components use HTML Imports, which work directly in the browser. The [Vulcanize](http://webcomponents.org/articles/introduction-to-html-imports/#aggregating-network-requests) tool is used to aggregate multiple HTML files into one file.\n+-   BEM uses build tools: [ENB](https://en.bem.info/tools/bem/enb-bem/) or [bem-tools](https://en.bem.info/tools/bem/bem-tools/).\n+\n+Abstraction over a DOM tree vs Custom Elements\n+\n+-   In Web Components, Custom Elements are used. Such an approach allows only for one component to be hosted on a single DOM node.\n+-   BEM introduces the concept of a [BEM tree](../method/definitions/definitions.en.md#bem-tree). BEM uses [mixes](../method/definitions/definitions.en.md#mix) — the practice of hosting several BEM entities on a single DOM node.\n+\n+What's the difference between BEM and Bootstrap?\n+------------------------------------------------\n+\n+In BEM terms, [Bootstrap](http://getbootstrap.com/) is a set of ready-made blocks. BEM, on the other hand, is not a library of interface elements but a methodology that allows you to\n+\n+-   Create the architecture for your project\n+-   Develop web applications based on independent blocks\n+-   Facilitate project support.\n+\n+BEM does provide its own block library, called [bem-components](https://en.bem.info/libs/bem-components/). [Other](https://en.bem.info/libs/) BEM libraries are also available.\n+\n+A block or an element: when should I use which?\n+-----------------------------------------------\n+\n+1.  If you're dealing with a fragment of code that can be reused and does not depend on the implementation of other components of the page, you should implement it as a [block](../method/definitions/definitions.en.md#block).\n+2.  If it's a fragment of code that cannot be used on its own, without a parent entity (block), in most cases that should be an [element](../method/definitions/definitions.en.md#element).\n+\n+This rule does not apply when implementing elements that, for reasons of simplifying the development process, have to be broken down into smaller, sub-element, parts. The BEM methodology [does not recommend creating elements of elements](#why-does-bem-not-recommend-using-elements-within-elements-block_elem1_elem2). So, in cases like this, instead of an element, a service block should be created.\n+\n+Why does BEM not recommend using elements within elements (`block_elem1_elem2`)?\n+--------------------------------------------------------------------------------\n+\n+The existence of elements of elements hinders the ability to change the internal structure of the block: elements cannot be swapped around, removed or added without modifying the existing code.\n+\n+In the BEM methodology, blocks are the only entities that support nested structure (`block_elem`). A block name defines a namespace that [ensures the dependence](../method/naming/naming-convention.en.md#element-name) of elements on the block.\n+\n+A block can have a nested element structure in a DOM tree.\n+\n+``` html\n+<div class='block'> <div class='block__elem1'> <div class='block__elem2'> <div class='block__elem3'></div> </div> </div> </div>","path":"faq/faq.en.md","position":109,"original_position":109,"commit_id":"ce38dc3c2de71a68c55804aa9ade095766d65e5e","original_commit_id":"ce38dc3c2de71a68c55804aa9ade095766d65e5e","user":{"login":"tadatuta","id":475746,"avatar_url":"https://avatars.githubusercontent.com/u/475746?v=3","gravatar_id":"","url":"https://api.github.com/users/tadatuta","html_url":"https://github.com/tadatuta","followers_url":"https://api.github.com/users/tadatuta/followers","following_url":"https://api.github.com/users/tadatuta/following{/other_user}","gists_url":"https://api.github.com/users/tadatuta/gists{/gist_id}","starred_url":"https://api.github.com/users/tadatuta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tadatuta/subscriptions","organizations_url":"https://api.github.com/users/tadatuta/orgs","repos_url":"https://api.github.com/users/tadatuta/repos","events_url":"https://api.github.com/users/tadatuta/events{/privacy}","received_events_url":"https://api.github.com/users/tadatuta/received_events","type":"User","site_admin":false},"body":"```html\r\n<div class='block'>\r\n    <div class='block__elem1'>\r\n        <div class='block__elem2'>\r\n            <div class='block__elem3'></div>\r\n        </div>\r\n    </div>\r\n</div>\r\n```","created_at":"2015-08-31T09:45:54Z","updated_at":"2015-08-31T09:45:54Z","html_url":"https://github.com/bem/bem-method/pull/312#discussion_r38297671","pull_request_url":"https://api.github.com/repos/bem/bem-method/pulls/312","_links":{"self":{"href":"https://api.github.com/repos/bem/bem-method/pulls/comments/38297671"},"html":{"href":"https://github.com/bem/bem-method/pull/312#discussion_r38297671"},"pull_request":{"href":"https://api.github.com/repos/bem/bem-method/pulls/312"}}},"pull_request":{"url":"https://api.github.com/repos/bem/bem-method/pulls/312","id":43741720,"html_url":"https://github.com/bem/bem-method/pull/312","diff_url":"https://github.com/bem/bem-method/pull/312.diff","patch_url":"https://github.com/bem/bem-method/pull/312.patch","issue_url":"https://api.github.com/repos/bem/bem-method/issues/312","number":312,"state":"open","locked":false,"title":"FAQ: translation","user":{"login":"innabelaya","id":6286656,"avatar_url":"https://avatars.githubusercontent.com/u/6286656?v=3","gravatar_id":"","url":"https://api.github.com/users/innabelaya","html_url":"https://github.com/innabelaya","followers_url":"https://api.github.com/users/innabelaya/followers","following_url":"https://api.github.com/users/innabelaya/following{/other_user}","gists_url":"https://api.github.com/users/innabelaya/gists{/gist_id}","starred_url":"https://api.github.com/users/innabelaya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/innabelaya/subscriptions","organizations_url":"https://api.github.com/users/innabelaya/orgs","repos_url":"https://api.github.com/users/innabelaya/repos","events_url":"https://api.github.com/users/innabelaya/events{/privacy}","received_events_url":"https://api.github.com/users/innabelaya/received_events","type":"User","site_admin":false},"body":"@tadatuta @rasulksirov ","created_at":"2015-08-31T08:20:27Z","updated_at":"2015-08-31T09:45:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"21e2e062c31ae46d39acd56159799ae8fe010119","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/bem/bem-method/pulls/312/commits","review_comments_url":"https://api.github.com/repos/bem/bem-method/pulls/312/comments","review_comment_url":"https://api.github.com/repos/bem/bem-method/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bem/bem-method/issues/312/comments","statuses_url":"https://api.github.com/repos/bem/bem-method/statuses/ce38dc3c2de71a68c55804aa9ade095766d65e5e","head":{"label":"bem:faq-translation","ref":"faq-translation","sha":"ce38dc3c2de71a68c55804aa9ade095766d65e5e","user":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"repo":{"id":820900,"name":"bem-method","full_name":"bem/bem-method","owner":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bem/bem-method","description":"BEM — a methodology how to develop web projects applicable for any technology","fork":false,"url":"https://api.github.com/repos/bem/bem-method","forks_url":"https://api.github.com/repos/bem/bem-method/forks","keys_url":"https://api.github.com/repos/bem/bem-method/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bem/bem-method/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bem/bem-method/teams","hooks_url":"https://api.github.com/repos/bem/bem-method/hooks","issue_events_url":"https://api.github.com/repos/bem/bem-method/issues/events{/number}","events_url":"https://api.github.com/repos/bem/bem-method/events","assignees_url":"https://api.github.com/repos/bem/bem-method/assignees{/user}","branches_url":"https://api.github.com/repos/bem/bem-method/branches{/branch}","tags_url":"https://api.github.com/repos/bem/bem-method/tags","blobs_url":"https://api.github.com/repos/bem/bem-method/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bem/bem-method/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bem/bem-method/git/refs{/sha}","trees_url":"https://api.github.com/repos/bem/bem-method/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bem/bem-method/statuses/{sha}","languages_url":"https://api.github.com/repos/bem/bem-method/languages","stargazers_url":"https://api.github.com/repos/bem/bem-method/stargazers","contributors_url":"https://api.github.com/repos/bem/bem-method/contributors","subscribers_url":"https://api.github.com/repos/bem/bem-method/subscribers","subscription_url":"https://api.github.com/repos/bem/bem-method/subscription","commits_url":"https://api.github.com/repos/bem/bem-method/commits{/sha}","git_commits_url":"https://api.github.com/repos/bem/bem-method/git/commits{/sha}","comments_url":"https://api.github.com/repos/bem/bem-method/comments{/number}","issue_comment_url":"https://api.github.com/repos/bem/bem-method/issues/comments{/number}","contents_url":"https://api.github.com/repos/bem/bem-method/contents/{+path}","compare_url":"https://api.github.com/repos/bem/bem-method/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bem/bem-method/merges","archive_url":"https://api.github.com/repos/bem/bem-method/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bem/bem-method/downloads","issues_url":"https://api.github.com/repos/bem/bem-method/issues{/number}","pulls_url":"https://api.github.com/repos/bem/bem-method/pulls{/number}","milestones_url":"https://api.github.com/repos/bem/bem-method/milestones{/number}","notifications_url":"https://api.github.com/repos/bem/bem-method/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bem/bem-method/labels{/name}","releases_url":"https://api.github.com/repos/bem/bem-method/releases{/id}","created_at":"2010-08-06T06:52:01Z","updated_at":"2015-08-27T09:56:32Z","pushed_at":"2015-08-31T08:20:27Z","git_url":"git://github.com/bem/bem-method.git","ssh_url":"git@github.com:bem/bem-method.git","clone_url":"https://github.com/bem/bem-method.git","svn_url":"https://github.com/bem/bem-method","homepage":"http://bem.info","size":25630,"stargazers_count":223,"watchers_count":223,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":63,"mirror_url":null,"open_issues_count":25,"forks":63,"open_issues":25,"watchers":223,"default_branch":"bem-info-data"}},"base":{"label":"bem:bem-info-data","ref":"bem-info-data","sha":"650ee8380323cd417a0a566b7dcfcc0458b0798e","user":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"repo":{"id":820900,"name":"bem-method","full_name":"bem/bem-method","owner":{"login":"bem","id":223412,"avatar_url":"https://avatars.githubusercontent.com/u/223412?v=3","gravatar_id":"","url":"https://api.github.com/users/bem","html_url":"https://github.com/bem","followers_url":"https://api.github.com/users/bem/followers","following_url":"https://api.github.com/users/bem/following{/other_user}","gists_url":"https://api.github.com/users/bem/gists{/gist_id}","starred_url":"https://api.github.com/users/bem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bem/subscriptions","organizations_url":"https://api.github.com/users/bem/orgs","repos_url":"https://api.github.com/users/bem/repos","events_url":"https://api.github.com/users/bem/events{/privacy}","received_events_url":"https://api.github.com/users/bem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bem/bem-method","description":"BEM — a methodology how to develop web projects applicable for any technology","fork":false,"url":"https://api.github.com/repos/bem/bem-method","forks_url":"https://api.github.com/repos/bem/bem-method/forks","keys_url":"https://api.github.com/repos/bem/bem-method/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bem/bem-method/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bem/bem-method/teams","hooks_url":"https://api.github.com/repos/bem/bem-method/hooks","issue_events_url":"https://api.github.com/repos/bem/bem-method/issues/events{/number}","events_url":"https://api.github.com/repos/bem/bem-method/events","assignees_url":"https://api.github.com/repos/bem/bem-method/assignees{/user}","branches_url":"https://api.github.com/repos/bem/bem-method/branches{/branch}","tags_url":"https://api.github.com/repos/bem/bem-method/tags","blobs_url":"https://api.github.com/repos/bem/bem-method/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bem/bem-method/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bem/bem-method/git/refs{/sha}","trees_url":"https://api.github.com/repos/bem/bem-method/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bem/bem-method/statuses/{sha}","languages_url":"https://api.github.com/repos/bem/bem-method/languages","stargazers_url":"https://api.github.com/repos/bem/bem-method/stargazers","contributors_url":"https://api.github.com/repos/bem/bem-method/contributors","subscribers_url":"https://api.github.com/repos/bem/bem-method/subscribers","subscription_url":"https://api.github.com/repos/bem/bem-method/subscription","commits_url":"https://api.github.com/repos/bem/bem-method/commits{/sha}","git_commits_url":"https://api.github.com/repos/bem/bem-method/git/commits{/sha}","comments_url":"https://api.github.com/repos/bem/bem-method/comments{/number}","issue_comment_url":"https://api.github.com/repos/bem/bem-method/issues/comments{/number}","contents_url":"https://api.github.com/repos/bem/bem-method/contents/{+path}","compare_url":"https://api.github.com/repos/bem/bem-method/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bem/bem-method/merges","archive_url":"https://api.github.com/repos/bem/bem-method/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bem/bem-method/downloads","issues_url":"https://api.github.com/repos/bem/bem-method/issues{/number}","pulls_url":"https://api.github.com/repos/bem/bem-method/pulls{/number}","milestones_url":"https://api.github.com/repos/bem/bem-method/milestones{/number}","notifications_url":"https://api.github.com/repos/bem/bem-method/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bem/bem-method/labels{/name}","releases_url":"https://api.github.com/repos/bem/bem-method/releases{/id}","created_at":"2010-08-06T06:52:01Z","updated_at":"2015-08-27T09:56:32Z","pushed_at":"2015-08-31T08:20:27Z","git_url":"git://github.com/bem/bem-method.git","ssh_url":"git@github.com:bem/bem-method.git","clone_url":"https://github.com/bem/bem-method.git","svn_url":"https://github.com/bem/bem-method","homepage":"http://bem.info","size":25630,"stargazers_count":223,"watchers_count":223,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":63,"mirror_url":null,"open_issues_count":25,"forks":63,"open_issues":25,"watchers":223,"default_branch":"bem-info-data"}},"_links":{"self":{"href":"https://api.github.com/repos/bem/bem-method/pulls/312"},"html":{"href":"https://github.com/bem/bem-method/pull/312"},"issue":{"href":"https://api.github.com/repos/bem/bem-method/issues/312"},"comments":{"href":"https://api.github.com/repos/bem/bem-method/issues/312/comments"},"review_comments":{"href":"https://api.github.com/repos/bem/bem-method/pulls/312/comments"},"review_comment":{"href":"https://api.github.com/repos/bem/bem-method/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bem/bem-method/pulls/312/commits"},"statuses":{"href":"https://api.github.com/repos/bem/bem-method/statuses/ce38dc3c2de71a68c55804aa9ade095766d65e5e"}}}}