<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4730310736572460006</id><updated>2024-09-05T06:30:49.458+03:00</updated><category term="css"/><category term="linux"/><category term="archlinux"/><category term="css3"/><category term="selectors"/><category term="ssh"/><category term="7-zip"/><category term="7z"/><category term="SharpSSH"/><category term="atom"/><category term="box-shadow"/><category term="breadcrumbs"/><category term="c#"/><category term="design"/><category term="dynamic visibility"/><category term="extract audio"/><category term="ffmpeg"/><category term="gconf-editor"/><category term="git"/><category term="github"/><category term="github pages"/><category term="gulp"/><category term="html"/><category term="jquery"/><category term="last business day of month"/><category term="mouse hovering"/><category term="mplayer"/><category term="msysgit"/><category term="nautilus"/><category term="node.js"/><category term="opacity"/><category term="oracle"/><category term="pl/sql"/><category term="popup hints"/><category term="splitting"/><category term="sql"/><category term="ssh tunnel"/><category term="swapiness"/><category term="tabs"/><category term="tortoisegit"/><category term="vertical tabs"/><category term="windows"/><category term="zip"/><category term="нарезка"/><category term="последний рабочий день месяца"/><category term="своппинг"/><category term="файлы"/><title type='text'>Once</title><subtitle type='html'>churn-out notes</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-804433626857355876</id><published>2015-09-10T02:24:00.002+03:00</published><updated>2015-09-14T02:47:47.569+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="atom"/><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><title type='text'>[ЧЕРНОВИК] Atom для домохозяек</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC9CCNJUmoMTiTFReAWZAmV6O0BUeyR9sNWV1nhiFIae4dLFXuIcVlqdTE2MbLRQxX6CRMl1GSA9jh9dGS_Z9Hx9Y8nqxzfbTSTFmEfALAgoTMqEkOuzDkpOGSw8bwRSsrgR4fawA9uOjh/s1600/Atom-Logo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC9CCNJUmoMTiTFReAWZAmV6O0BUeyR9sNWV1nhiFIae4dLFXuIcVlqdTE2MbLRQxX6CRMl1GSA9jh9dGS_Z9Hx9Y8nqxzfbTSTFmEfALAgoTMqEkOuzDkpOGSw8bwRSsrgR4fawA9uOjh/s1600/Atom-Logo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Существует достаточно большое количество разных и полезных текстовых редакторов/IDE/полу-IDE, под стать каждому. В этой заметке буду рассказывать об Atom-е. Это, можно сказать, полу-IDE-шный редактор на стероидах (плагинах), написан с испольованием движка хрома (браузера). Написан GitHub-овцами, между прочим.&lt;br /&gt;
&lt;br /&gt;
Я думаю он бы здорово подошёл бы для экспериментов с &lt;a href=&quot;http://jinnmv.blogspot.com/2015/07/gulp-web.html&quot; target=&quot;_blank&quot;&gt;gulp&lt;/a&gt; и &lt;a href=&quot;http://jinnmv.blogspot.com/2015/08/git-github-github-pages.html&quot; target=&quot;_blank&quot;&gt;git&lt;/a&gt;.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
Установка и &lt;strike&gt;настройка&lt;/strike&gt; всё&lt;/h3&gt;
Скачивать конечно же лучше с оффициальной страницы &lt;a href=&quot;https://atom.io/&quot;&gt;https://atom.io/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6CVCvhqZ5GXyOCBPttTQy0rheYpwDgKpPEDi0Fb-zplolqppoS5okcqxeyspyOIHCQdynwWEsmpcXmOFYNqQc6DtVhWjiItztMcLSq1XdQCPeHnXTY7KTpYYD99AuBD_3spI32GVZmY5p/s1600/Atom-Start.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;345&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6CVCvhqZ5GXyOCBPttTQy0rheYpwDgKpPEDi0Fb-zplolqppoS5okcqxeyspyOIHCQdynwWEsmpcXmOFYNqQc6DtVhWjiItztMcLSq1XdQCPeHnXTY7KTpYYD99AuBD_3spI32GVZmY5p/s640/Atom-Start.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Вот так выглядит Atom по-умолчанию&lt;/div&gt;
&lt;br /&gt;
Настраивать там особо нечего, можно пробежаться по параметрам конфигурации, тему там поменять и т.д. &lt;kbd&gt;File &amp;gt; Settings&lt;/kbd&gt; или &lt;kbd&gt;&amp;lt;Ctrl&amp;gt; + &amp;lt;,&amp;gt;&lt;/kbd&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjASH2f2PSaThkXFJrB5n9nrb-xMW83KHS-bYCQcET8dHAzMDpUjFjkpFfuBlzTtztrfOeoHFdutqTAEoRbSACTWseuHrmbFlf5kKaAsZTKhQGNPk99jnRhbBmHacJSeszPYoBDS_H3Il1i/s1600/Atom-Settings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;345&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjASH2f2PSaThkXFJrB5n9nrb-xMW83KHS-bYCQcET8dHAzMDpUjFjkpFfuBlzTtztrfOeoHFdutqTAEoRbSACTWseuHrmbFlf5kKaAsZTKhQGNPk99jnRhbBmHacJSeszPYoBDS_H3Il1i/s640/Atom-Settings.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Можно пройтись по настройкам, выбрать то, что больше подходит под себя, на первый взгляд. На самом деле ничего особенного, по сравнению с такими же IDE-подобными редакторами (напр. Brackets).&lt;br /&gt;
&lt;br /&gt;
Здесь стоит обратить внимание на разделы Packages и Install - это доступ к установленным плагинам, и к каталогу плагинов, где можно найти необходимые/недостающие.&lt;br /&gt;
&lt;h3&gt;
Особенности&lt;/h3&gt;
&lt;h4&gt;
Command Palette&lt;/h4&gt;
Отличительной особенностью является палитра комманд (вызывается Ctrl+Shift+P - можно перебиндить)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnzTXMrz3G2Er7yjhQ94HcWjbybYtkDvXc6f2ZzJzbXbkisp0a6OTI4k0NDSLkOK96H35xu5jLAOdaB6rrPpMdiv1mNdudjZwQW7fcls6zno8tSDX-FFxXrvgoRHFsuZEGH9oSZ6cdf47-/s1600/Atom-Command_Palette.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;345&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnzTXMrz3G2Er7yjhQ94HcWjbybYtkDvXc6f2ZzJzbXbkisp0a6OTI4k0NDSLkOK96H35xu5jLAOdaB6rrPpMdiv1mNdudjZwQW7fcls6zno8tSDX-FFxXrvgoRHFsuZEGH9oSZ6cdf47-/s640/Atom-Command_Palette.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Пользователи SublimeText могут сразу узнать откуда росли ноги&lt;strike&gt; и грязно выругаться за плагиат&lt;/strike&gt;.&lt;br /&gt;
Здесь представлен быстрый доступ практиески ко всем комманадам/меню редактора. Просто начинайте вводить желаемую комманду и Atom подскажет подходящие по нечёткому поиску.&lt;br /&gt;
Довольно удобно, если начать пользоваться.&lt;br /&gt;
&lt;h4&gt;
Multi Cursor&lt;/h4&gt;
Тоже не новая функциональность, но по-прежнему находит своих поклонников.&lt;br /&gt;
К сожалению в Atom-е реализована не совсем удобно - горячие клавиши Alt+Ctrl+стрелка уже занята под переворачивание экрана в Windows :).&lt;br /&gt;
Мне лично больше нравится подход, как Notepad++ - &amp;lt;Alt&amp;gt; + Клик мыши.&lt;br /&gt;
Ну что ж, в любом случае, комбинацию клавиш можно перебиндить.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjolFfOYImFpx4TGVxT55mor_35CBa8JjI3l3mKiAxJULctW9S7BaURbL6v_HutRUoJopRVSsJhBud0vgTe0q9Z7iycIRTH0u0mugxBPDEtvyEsvLW8807CZFPz4p9Ha9bIs73AQskMob-5/s1600/Atom-MultiCursor-Edit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjolFfOYImFpx4TGVxT55mor_35CBa8JjI3l3mKiAxJULctW9S7BaURbL6v_HutRUoJopRVSsJhBud0vgTe0q9Z7iycIRTH0u0mugxBPDEtvyEsvLW8807CZFPz4p9Ha9bIs73AQskMob-5/s1600/Atom-MultiCursor-Edit.png&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaHALtNy2RN3ex0g0edwm2ev3K1o_Bho1-a31lgry31lokqIK6zTCtygfqs0jqq7Sy4stWKZxVfZozjoJakovYxRMJYwICMDP0kMSHscU7AQmV58f5QDXPCs97oWRnhBCdcFaN4bqMyYo_/s1600/Atom-MultiCursor-Select.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaHALtNy2RN3ex0g0edwm2ev3K1o_Bho1-a31lgry31lokqIK6zTCtygfqs0jqq7Sy4stWKZxVfZozjoJakovYxRMJYwICMDP0kMSHscU7AQmV58f5QDXPCs97oWRnhBCdcFaN4bqMyYo_/s1600/Atom-MultiCursor-Select.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Пара примеров- мульти-редактировани и -выделение. Сразу извиняюсь за вырожденные примеры, люди при своём уме такого не далают (я о префиксе moz- перед background).&lt;br /&gt;
&lt;h4&gt;
Панели&lt;/h4&gt;
Вертикальные-горизонтальные панели - тоже удобная возможность. Ctrl+K стрелка.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_DYYF-eCYSplrnUeUTW4T3KMFOmStf15-CD-jr42k8CHB_qvQtY3Ho1_XC0dEDjjJ0KBuWMMGzFQk2j0NBhkLQWy8LHhXY8CMS5JCQnsoKmu0Vnh7_HUq8-LI8QyBnxe_Y7w66Ggwlsz/s1600/Atom-Vertical-Panel.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;345&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_DYYF-eCYSplrnUeUTW4T3KMFOmStf15-CD-jr42k8CHB_qvQtY3Ho1_XC0dEDjjJ0KBuWMMGzFQk2j0NBhkLQWy8LHhXY8CMS5JCQnsoKmu0Vnh7_HUq8-LI8QyBnxe_Y7w66Ggwlsz/s640/Atom-Vertical-Panel.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Больше комманд в меню: View &amp;gt; Panes.&lt;br /&gt;
&lt;h4&gt;
Заготовки (сниппеты/snippets)&lt;/h4&gt;
Сниппеты - это своеобразные шаблоны:сокращения конструкций. Напр: набор букв fri раскрывается в for (i=0; i++; i&amp;lt;_) или подобное.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNiiHK5Tg4f6GSPhRtBWx1Ubo3r86_feYEel6Exx_0e3hiHSCdOxLeNY0VydyWvhrfto9EWQB3B0coEiORwX6PcMHFvSK87HV1fiBuAJWpj5cMSQ7pTYxd1Yv9IWsBa2rF6uAfFaLYyswu/s1600/Atom-Snippets-HTML-header-collapsed.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNiiHK5Tg4f6GSPhRtBWx1Ubo3r86_feYEel6Exx_0e3hiHSCdOxLeNY0VydyWvhrfto9EWQB3B0coEiORwX6PcMHFvSK87HV1fiBuAJWpj5cMSQ7pTYxd1Yv9IWsBa2rF6uAfFaLYyswu/s1600/Atom-Snippets-HTML-header-collapsed.png&quot; /&gt;&lt;/a&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7_CsR7NWTrMc1iLpRQ123cmrZREr_3RYWbtWMoNWzFODJoroYmIB0LsL1-y1irnd_jQTvXFtBTXp8B5rI-RhQsI_2X9BLDD2nRFZGf7nSaWzBhBuATVB1Gra2_7Oh2zw-5N0srDUvFLrV/s1600/Atom-Snippets-HTML-header-expanded.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7_CsR7NWTrMc1iLpRQ123cmrZREr_3RYWbtWMoNWzFODJoroYmIB0LsL1-y1irnd_jQTvXFtBTXp8B5rI-RhQsI_2X9BLDD2nRFZGf7nSaWzBhBuATVB1Gra2_7Oh2zw-5N0srDUvFLrV/s1600/Atom-Snippets-HTML-header-expanded.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWES8xYQ81J2yOEbi14wQKMrLTKDLEcMouM7S8IPRT9MApzGObIEEPuTOy-Z3NFQyo4-UbddhQ2UbplOfTWwZ5z-wN6t28M06mPeS03lNRKkOt0VU0XvKdYovx220WEDKzMg3KHp_McSCC/s1600/Atom-Snippets-HTML-meta-expanded.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWES8xYQ81J2yOEbi14wQKMrLTKDLEcMouM7S8IPRT9MApzGObIEEPuTOy-Z3NFQyo4-UbddhQ2UbplOfTWwZ5z-wN6t28M06mPeS03lNRKkOt0VU0XvKdYovx220WEDKzMg3KHp_McSCC/s1600/Atom-Snippets-HTML-meta-expanded.png&quot; /&gt;&lt;/a&gt;
&amp;nbsp;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbjIjuBYsMelwLXg4bW_HP3GuWjq-S4uHqTwpJkRUXK4qded1HGxPLiiJBXKfkJdfoaqbOpILru-KlhWgsqO0Pcr3QFKUw5n1Ud2XaJpQeuw5TIlShyphenhyphenFrIx4S5FLgMCwvjO5wWAKiwhTsF/s1600/Atom-Snippets-HTML-meta-collapsed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbjIjuBYsMelwLXg4bW_HP3GuWjq-S4uHqTwpJkRUXK4qded1HGxPLiiJBXKfkJdfoaqbOpILru-KlhWgsqO0Pcr3QFKUw5n1Ud2XaJpQeuw5TIlShyphenhyphenFrIx4S5FLgMCwvjO5wWAKiwhTsF/s1600/Atom-Snippets-HTML-meta-collapsed.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;clear: both;&quot;&gt;&lt;/span&gt;
Atom имеет встроенную поддержку сниппетов (реализовано в виде плагина). Все сниппеты привязаны к определённым языкам (синтаксису) - т.е. html-евские не будут доступны в css-файлах (если, конечно, не переопределить).&lt;br /&gt;
&amp;lt;Alt&amp;gt;+&amp;lt;Shift&amp;gt;+&amp;lt;S&amp;gt; - показать все доступные сниппеты для текущего синтаксиса (языка).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtPomZ5CouzjoIhdTvB8IYglcm6yG7myYoRJVv8hOB619wiNHpI0dX1hS_GW4k5GxL1mWnWkRGME7YY6oErjY4vFFdfDyxNAE-VYp5EIlWfoG8Rta0vA_PRKYrthgik1eVOfyb403moJaF/s1600/Atom-Snippets-palette.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtPomZ5CouzjoIhdTvB8IYglcm6yG7myYoRJVv8hOB619wiNHpI0dX1hS_GW4k5GxL1mWnWkRGME7YY6oErjY4vFFdfDyxNAE-VYp5EIlWfoG8Rta0vA_PRKYrthgik1eVOfyb403moJaF/s1600/Atom-Snippets-palette.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Для полного счастья, можно добавить плагин &lt;a href=&quot;https://atom.io/packages/css-snippets&quot; target=&quot;_blank&quot;&gt;css-snippets&lt;/a&gt;.&lt;br /&gt;
&lt;h4&gt;
Поиск&lt;/h4&gt;
Поиск в Atom умеет разное:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Поиск/Замена в текущем файле: Ctrl+F / Alt+Ctrl+F&lt;/li&gt;
&lt;li&gt;Поиск/Замена по всему проекту: Ctrl+Shift+F&lt;/li&gt;
&lt;li&gt;Палитра открытых файлов: Ctrl+B&lt;/li&gt;
&lt;li&gt;Нечёткий поиск файлов: Ctrl+P/Ctrl+T&lt;/li&gt;
&lt;/ul&gt;
За этот функционал отвественны плагины по-умолчанию &lt;a href=&quot;https://atom.io/packages/find-and-replace&quot; target=&quot;_blank&quot;&gt;find-and-replace&lt;/a&gt; и &lt;a href=&quot;https://atom.io/packages/fuzzy-finder&quot; target=&quot;_blank&quot;&gt;fuzzy-finder&lt;/a&gt;.&lt;br /&gt;
&lt;h3&gt;
Плагины&lt;/h3&gt;
Расширений в виде плагинов здесь под любых любителей фломастеров, ими-то мы и займёмся.&lt;br /&gt;
В первую очередь что-нибдь для вёрстки. На самом деле, до-устанавливать не много, потому как основная функциональность (подсветка синтаксиа / автодополнение) работают &quot;из коробки&quot; для основных языков/синтаксиса.&lt;br /&gt;
&lt;h4&gt;
Linter&lt;/h4&gt;
&lt;a href=&quot;https://atom.io/packages/linter&quot;&gt;https://atom.io/packages/linter&lt;/a&gt;&lt;br /&gt;
Этот базовый верхнеуровневый API для подсветки/вывода lint-сообщений (валидация на лету).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/70b6e697c9d793642414b4ea6d08dbb9678877b3/687474703a2f2f672e7265636f726469742e636f2f313352666d6972507a322e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/70b6e697c9d793642414b4ea6d08dbb9678877b3/687474703a2f2f672e7265636f726469742e636f2f313352666d6972507a322e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
К нему нужно до-установить linter-друганов под те языки, которые нам нужны: &lt;a href=&quot;https://atomlinter.github.io/&quot;&gt;https://atomlinter.github.io/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Например вот эти:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-csslint&quot; target=&quot;_blank&quot;&gt;linter-csslint&lt;/a&gt;&lt;br /&gt;обёртка над &lt;a href=&quot;https://github.com/CSSLint/csslint&quot; target=&quot;_blank&quot;&gt;csslint&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-scss-lint&quot; target=&quot;_blank&quot;&gt;linter-scss-lint&lt;/a&gt;&lt;br /&gt;Для этого &quot;другана&quot; нужен ruby с жемом &lt;a href=&quot;https://github.com/brigade/scss-lint&quot; target=&quot;_blank&quot;&gt;scss_lint&lt;/a&gt; (gem install scss_lint). В Windows это немного проблематичнее, но если надо, то не думаю, что станет проблемой.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-9e-sass&quot; target=&quot;_blank&quot;&gt;linter-9e-sass&lt;/a&gt; Вот этот красавец, обещал многое, но скрэшил мне Atom. Советую пока не устанавливать, пока не вылечатся.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-jscs&quot; target=&quot;_blank&quot;&gt;linter-jscs&lt;/a&gt;Обёртка над &lt;a href=&quot;http://jscs.info/&quot; target=&quot;_blank&quot;&gt;jscs&lt;/a&gt;. Проверяет CodingStyle.&lt;br /&gt;Полезный плагин, &#39;подсвечивает&#39; JavaScript, НО всякие jQuery, Gulp, Node.js всё ещё не умеет, в связи с чем подчёркивает красным то, что не должен :(.&lt;br /&gt;Подход такой - если копаемся много в JS, то это полезный плагин, если нет - будет только мешать.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-jshint&quot; target=&quot;_blank&quot;&gt;linter-jshint&lt;/a&gt;&lt;br /&gt; Обёртка над &lt;a href=&quot;http://jshint.com/docs/&quot; target=&quot;_blank&quot;&gt;jshint&lt;/a&gt; - статический анализатор JS-кода.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-tidy&quot; target=&quot;_blank&quot;&gt;linter-tidy&lt;/a&gt;&lt;br /&gt;обёртка над &lt;a href=&quot;http://www.htacg.org/tidy-html5/&quot; target=&quot;_blank&quot;&gt;tidy-html5&lt;/a&gt;&lt;br /&gt;&lt;strike&gt;этот плагин будет проганять html через &lt;a href=&quot;http://tidy.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;tidy&lt;/a&gt; - довольно старый проект (последний коммит 2009 годом, да ещё и на SourceForge). В общем, мне немного страшно за то, что он напроверяет там, но подключим на всякий случай, посмотрим, сам-то плагин - свежий&lt;/strike&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atom.io/packages/linter-htmlhint&quot; target=&quot;_blank&quot;&gt;linter-htmlhint&lt;/a&gt;&lt;br /&gt;это обёртка над &lt;a href=&quot;https://github.com/yaniswang/HTMLHint&quot; target=&quot;_blank&quot;&gt;htmlhint&lt;/a&gt; свежий, поддерживаемый проект, я склонен доверять.&lt;/li&gt;
&lt;/ul&gt;
Управление через палитру комманд (Ctrl+Shift+P):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje9HzXLd519KmFDfC1aI6XzuinrQK4y4r9rKtIcAdQtnOZoiRXYGZUckbNNUDDqkeIae2CuAXHTByuwITjjAvb39nNuNZ1UwvPiZKteKfOgB2VlukyTZE_kGgP7kZLLJgez8GsLpLQ924L/s1600/Atom-Linter.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje9HzXLd519KmFDfC1aI6XzuinrQK4y4r9rKtIcAdQtnOZoiRXYGZUckbNNUDDqkeIae2CuAXHTByuwITjjAvb39nNuNZ1UwvPiZKteKfOgB2VlukyTZE_kGgP7kZLLJgez8GsLpLQ924L/s1600/Atom-Linter.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
по &amp;lt;Alt&amp;gt;+&amp;lt;Shift&amp;gt;+&amp;lt;.&amp;gt; переключиться на следующую ошибку. Все остальные комманды можно забиндить по желанию.&lt;br /&gt;
&lt;br /&gt;
Да и в общем, настройки каждого пдагина (если такие есть), можно найти в File &amp;gt; Settings &amp;gt; Packages.&lt;br /&gt;
&lt;h4&gt;
atom-beautify&lt;/h4&gt;
&lt;a href=&quot;https://atom.io/packages/atom-beautify&quot;&gt;https://atom.io/packages/atom-beautify&lt;/a&gt;&lt;br /&gt;
Этот плагин наводит красоту в вашем коде, по заданным настройкам - убирает лишние пробелы, строки, конвертирует кавычки, проставляет точку-с-запятой, и.т.д. Поддерживает огромное количество языков из коробки (ничего доустанавливать не нужно).&lt;br /&gt;
Советую пересмотреть настройки плагина, и выбрать желаемое поведение.&lt;br /&gt;
&lt;br /&gt;
Вызов плагина либо через панель комманд, либо через через контекстное меню, либо горячей клавишей Alt+Ctrl+B&lt;br /&gt;
&lt;h4&gt;
css comb&lt;/h4&gt;
Comb - сортирует/группирует CSS свойства, удаляет лишние пробелы и т.д. Функционал пересекается с предыдущим плагином.&lt;br /&gt;
Здесь аж целая пачка плагинов:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;css-comb&lt;/b&gt;&lt;/li&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;li&gt;&lt;b&gt;atom-css-comb&lt;/b&gt;&lt;/li&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;li&gt;&lt;b&gt;atom-csscomb&lt;/b&gt;&lt;/li&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;li&gt;&lt;b&gt;csscomb&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Все они так или иначе используют &lt;a href=&quot;http://csscomb.com/&quot;&gt;http://csscomb.com/&lt;/a&gt;&amp;nbsp; поэтому функционал практически у всех одинаковый, даже горячие клавиши.&lt;br /&gt;
&lt;br /&gt;
Во всех этих плагинах можно задать желаемый comb-конфиг, в системном каталоге, в текущем проекте, и т.д. Сам-же comb-конфиг можно сгенерировать на сайте &lt;a href=&quot;http://csscomb.com/config&quot;&gt;http://csscomb.com/config&lt;/a&gt;, ответив на 24 вопроса, в стиле &quot;какой вариант для вас лучше&quot;. У меня получился вот такой .csscomb.json &lt;a href=&quot;https://gist.github.com/Jinnmv/a9d6a5347186771a8101&quot;&gt;https://gist.github.com/Jinnmv/a9d6a5347186771a8101&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Мне приглянулся &lt;a href=&quot;https://atom.io/packages/csscomb&quot; target=&quot;_blank&quot;&gt;csscomb&lt;/a&gt; - там нет ничего лишнего, он вычитывает конфиг из корня каталога и радует результатми. Большего мне не нужно.&lt;br /&gt;
&lt;h4&gt;
Autocomplete&lt;/h4&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/c90b92e60288c36d664f03908ba025d6480b0c38/68747470733a2f2f636c6f75642e67697468756275736572636f6e74656e742e636f6d2f6173736574732f3734343734302f373635363836312f39666238626363342d666165612d313165342d393831342d3964636132313864656439332e706e67&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/c90b92e60288c36d664f03908ba025d6480b0c38/68747470733a2f2f636c6f75642e67697468756275736572636f6e74656e742e636f6d2f6173736574732f3734343734302f373635363836312f39666238626363342d666165612d313165342d393831342d3964636132313864656439332e706e67&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
В Atom-е по-умолчанию поддерживается автодополнение, но можно его улучшить добавив щепотку полезных плагинов:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;css-truncate-target&quot;&gt;&lt;b&gt;language-SCSS&lt;/b&gt;&lt;br /&gt;обеспечивает лучшую поддержку SCSS, сниппеты и автодополнения в том числе&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;autocomplete-html-entities&lt;/b&gt;&lt;br /&gt;добавляет поддержку автодополнения специальных символов HTML, таких как напр. &amp;amp;amp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihZ4wi1RzAqAJiLGf2s67P5sxhvC2yIsEXdKuf520dHcz57fGzFxfagttau17r_N6Fhnnd5-doFXXMeaUrY-Yo3i0tuLRFuvwuY3n4oEWmMd0ql0xHVcduAOTX2bQStqR06VYJsOzFBHD7/s1600/Atom-symbols-autocomplete.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihZ4wi1RzAqAJiLGf2s67P5sxhvC2yIsEXdKuf520dHcz57fGzFxfagttau17r_N6Fhnnd5-doFXXMeaUrY-Yo3i0tuLRFuvwuY3n4oEWmMd0ql0xHVcduAOTX2bQStqR06VYJsOzFBHD7/s1600/Atom-symbols-autocomplete.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;autocomplete-paths&lt;/b&gt;&lt;br /&gt;даёт возможность использовать пути к файлам в автодоплнении&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/7da86dc3d22c9dd1d1c47bcb36237720fd987764/687474703a2f2f73312e64697265637475706c6f61642e6e65742f696d616765732f3134303431312f70356b76696665362e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/7da86dc3d22c9dd1d1c47bcb36237720fd987764/687474703a2f2f73312e64697265637475706c6f61642e6e65742f696d616765732f3134303431312f70356b76696665362e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Обычно окно автодополнения появляется по мере необходимости автоматически, но если его внезапно нет, то по Ctrl+Space оно появляется. Клавишами Up/Down осуществляется навигация по вариантам дополнений, а по Tab или Enter - выбор нужного варианта.&lt;br /&gt;
&lt;h4&gt;
Всякая мелочь&lt;/h4&gt;
&lt;b&gt;Unit Converter&lt;/b&gt;&lt;a href=&quot;https://atom.io/packages/atom-css-unit-converter&quot;&gt; https://atom.io/packages/atom-css-unit-converter&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;card-name&quot;&gt;
Конвертирует px в em, pt, и обратно, и другие размерности.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/06f52a36affecdac21e9ae1a5f9d26517ff6f46d/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f736574686c6f70657a6d652f61746f6d2d6373732d756e69742d636f6e7665727465722f6d61737465722f7265736f75726365732f73696e676c652d6c696e652e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/06f52a36affecdac21e9ae1a5f9d26517ff6f46d/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f736574686c6f70657a6d652f61746f6d2d6373732d756e69742d636f6e7665727465722f6d61737465722f7265736f75726365732f73696e676c652d6c696e652e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
У него так же есть интерактивный конвертер (диалоговое окно), которе можно вызвать, либо из меню, либо из палитрый комманда, либо по сочетанию клавих Alt+C C. &lt;br /&gt;
&lt;br /&gt;
И так же будет полезно знать пару горячих клавиш: Alt+C E - px -&amp;gt; em, Alt+C R - px -&amp;gt; rem.&lt;br /&gt;
&lt;br /&gt;
Мне жутко не понравилось то, что он самостоятельно не умеет определять текущую размерность. Т.е. нельзя &quot;сконвертировать то, что под курсором в em&quot;, необходимо обязательно указать, что мы конвертируем px в em (или что там у нас).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;quick-editor &lt;/b&gt;&lt;a href=&quot;https://atom.io/packages/quick-editor&quot; target=&quot;_blank&quot;&gt;https://atom.io/packages/quick-editor&lt;/a&gt;&lt;/div&gt;
Подсмотрели в Brackets, ну и хорошо. Плагин позволяет &quot;на месте&quot; редактировать стиль, который находится под курсором в HTML (см. гифку ниже).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/ef6384c37c1066f46a8ba2ae091703b91425d7f6/68747470733a2f2f6769746875622e636f6d2f4d61757368756e64622f717569636b2d656469746f722f626c6f622f6d61737465722f717569636b2d656469742e6769663f7261773d74727565&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/ef6384c37c1066f46a8ba2ae091703b91425d7f6/68747470733a2f2f6769746875622e636f6d2f4d61757368756e64622f717569636b2d656469746f722f626c6f622f6d61737465722f717569636b2d656469742e6769663f7261773d74727565&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Горячая клавиша Ctrl+Shift+E.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;w3c-validator&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/w3c-validation&quot;&gt;https://atom.io/packages/w3c-validation&lt;/a&gt;&lt;br /&gt;
Этот плагин заливает текущий файл на w3c-vlaidator и показывает на панели результаты валидации. Должно быть полезно для тех, кто печётся об этом. Но у меня были проблемы с HTML, где doctype указан html. Вроде как проблемы в зависимом &lt;a href=&quot;https://github.com/mryvlin/w3cjs&quot; target=&quot;_blank&quot;&gt;плагине&lt;/a&gt;, но не было времени/желания разобраться и зарепортить.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;color-picker&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/color-picker&quot;&gt;https://atom.io/packages/color-picker&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Как по мне, довольно полезный инструмент, помогает подобрать нужный цвет и заполяет его hex код в любом формате. Alt+Ctrl+C&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/467c72e686f00893c3d36bf46499e76c10f31787/68747470733a2f2f6769746875622e636f6d2f74686f6d61736c696e647374726f6d2f636f6c6f722d7069636b65722f7261772f6d61737465722f707265766965772e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://i.github-camo.com/467c72e686f00893c3d36bf46499e76c10f31787/68747470733a2f2f6769746875622e636f6d2f74686f6d61736c696e647374726f6d2f636f6c6f722d7069636b65722f7261772f6d61737465722f707265766965772e676966&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;minimap&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/minimap&quot;&gt;https://atom.io/packages/minimap&lt;/a&gt;&lt;br /&gt;
Ещё один плагин появившийся благодаря SublimeText. Он показывает небольшую мини-карту текущего файла, с возможностью быстрого скролла к искомому участку, что значительно упрощает навигацию по большим файлам.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/b4c669a677cccba77045963df7391d40f7f1c1e1/68747470733a2f2f6769746875622e636f6d2f61746f6d2d6d696e696d61702f6d696e696d61702f626c6f622f6d61737465722f7265736f75726365732f776974682d636f64652d686967686c69676874732e706e673f7261773d74727565&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/b4c669a677cccba77045963df7391d40f7f1c1e1/68747470733a2f2f6769746875622e636f6d2f61746f6d2d6d696e696d61702f6d696e696d61702f626c6f622f6d61737465722f7265736f75726365732f776974682d636f64652d686967686c69676874732e706e673f7261773d74727565&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;file-type-icons&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/file-type-icons&quot;&gt;https://atom.io/packages/file-type-icons&lt;/a&gt;&lt;br /&gt;
Показывает иконки типов файлов возле имени, в дереве.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/952b295be9c0f04c55cb4bf87c944b9efa5ec769/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6c65652d646f686d2f66696c652d747970652d69636f6e732f6d61737465722f66696c652d747970652d69636f6e732e706e67&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/952b295be9c0f04c55cb4bf87c944b9efa5ec769/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6c65652d646f686d2f66696c652d747970652d69636f6e732f6d61737465722f66696c652d747970652d69636f6e732e706e67&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h4&gt;
Git&lt;/h4&gt;
В плане интеграции с системой контроля версий git, в Atom-е не так много всего из коробки, практически нечего. Что довольно-таки странно, учитывая, кто его создатели.&lt;br /&gt;
Но, в топ-е плагинов всегда висит &lt;b&gt;git-plus&lt;/b&gt;, &lt;b&gt;merge-conflicts&lt;/b&gt;, советую всё ставить. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;git-plus&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/git-plus&quot;&gt;https://atom.io/packages/git-plus&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
даёт возможность выполнять git комманды непосредственно в Atom-е. Напр. Add, Commit, Push, Checkout, и т.д.&lt;br /&gt;
Там много всего хорошего, советую открыть его страницу (ссылка вверху), или настройки плагина непосредственно в Atom-е и почитать.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/78e2bafa5f9b3afdf47d7e02e3f949fea4801fc0/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f616b6f6e77692f6769742d706c75732f6d61737465722f636f6d6d69742e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/78e2bafa5f9b3afdf47d7e02e3f949fea4801fc0/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f616b6f6e77692f6769742d706c75732f6d61737465722f636f6d6d69742e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Своя палитра комманд вызывается по Ctrl+Shift+H. Но и по стандартному Ctrl+Shift+P тоже находится.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;git-log&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/git-log&quot;&gt;https://atom.io/packages/git-log&lt;/a&gt;&lt;br /&gt;
Этот плагин показывает более удобоваримый лог git, чем предыдущий плагин.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/fe46952e7b204bcc30575e592b23bd791e40b25d/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f4e696b68696c4b616c6967652f6769742d6c6f672f6d61737465722f7265736f75726365732f6769742d6c6f672e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/fe46952e7b204bcc30575e592b23bd791e40b25d/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f4e696b68696c4b616c6967652f6769742d6c6f672f6d61737465722f7265736f75726365732f6769742d6c6f672e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;merge-conflicts&lt;/b&gt; &lt;a href=&quot;https://atom.io/packages/merge-conflicts&quot;&gt;https://atom.io/packages/merge-conflicts&lt;/a&gt;&lt;br /&gt;
С этим инструментом гораздо проще решать merge-конфликты, которые неизбежны, при работе над проектом в комманде. На гифке внизу, в общем-то, всё показано.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/44ff44f156f274b8799022e44bcacb804fadc08a/68747470733a2f2f7261772e6769746875622e636f6d2f736d61736877696c736f6e2f6d657267652d636f6e666c696374732f6d61737465722f646f63732f636f6e666c6963742d7265736f6c7574696f6e2e676966&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/44ff44f156f274b8799022e44bcacb804fadc08a/68747470733a2f2f7261772e6769746875622e636f6d2f736d61736877696c736f6e2f6d657267652d636f6e666c696374732f6d61737465722f646f63732f636f6e666c6963742d7265736f6c7574696f6e2e676966&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
pigments&lt;/h4&gt;
&lt;a href=&quot;https://atom.io/packages/pigments&quot;&gt;https://atom.io/packages/pigments&lt;/a&gt;&lt;br /&gt;
Очень полезный плагин для тех, кто использует пре-процессоры и заботится о чистоте кода и пере-использовании кода.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pigments: Show Palette&lt;/b&gt; - показывает палитру цветов, используемых в проекте - какие цвета, где используются. Это имеет отношение только к файлам пре-процессоров (LESS, Sass, SCSS, Stylus).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/053495600775a39932edaa9e795ba018ce764b1c/68747470733a2f2f6769746875622e636f6d2f61626533332f61746f6d2d7069676d656e74732f626c6f622f6d61737465722f7265736f75726365732f70616c657474652e6769663f7261773d74727565&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/053495600775a39932edaa9e795ba018ce764b1c/68747470733a2f2f6769746875622e636f6d2f61626533332f61746f6d2d7069676d656e74732f626c6f622f6d61737465722f7265736f75726365732f70616c657474652e6769663f7261773d74727565&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Pigments: Find Colors&lt;/b&gt; - индексирует все css- и пре-процессорные файлы и показывает карту использования цветов.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://i.github-camo.com/8451130b08ce539d2f19ff985b9ac65d5354708f/68747470733a2f2f6769746875622e636f6d2f61626533332f61746f6d2d7069676d656e74732f626c6f622f6d61737465722f7265736f75726365732f7365617263682e6769663f7261773d74727565&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://i.github-camo.com/8451130b08ce539d2f19ff985b9ac65d5354708f/68747470733a2f2f6769746875622e636f6d2f61626533332f61746f6d2d7069676d656e74732f626c6f622f6d61737465722f7265736f75726365732f7365617263682e6769663f7261773d74727565&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;Pigments: Convert To.&lt;/b&gt;. - конвертирует цвета в hex/rgb.rgba. Вызывается либо в контекстном меню, либо через палитру комманд.&lt;br /&gt;
&lt;h4&gt;
atom-build&lt;/h4&gt;
TBD &lt;br /&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
Комбинации Клавиш&lt;/h3&gt;
Ctrl+T fuzzy finder&lt;br /&gt;
Ctrl+Shift+P command palette&lt;br /&gt;
Ctrl + / - comment/uncomment&lt;br /&gt;
Alt+Ctrl+M - select between brackets&lt;br /&gt;
Ctrl+G - jump to specific line&lt;br /&gt;
Ctrl+Shift+U - encoding&lt;br /&gt;
Ctrl+F - search&lt;br /&gt;
Alt+Ctrl+F - replace&lt;br /&gt;
Ctrl+Shift+F - search in project &lt;br /&gt;
&lt;h3&gt;
Полезные ссылки:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Оффициальный сайт Атом: &lt;a href=&quot;https://atom.io/&quot; target=&quot;_blank&quot;&gt;https://atom.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS Comb &lt;a href=&quot;http://csscomb.com/&quot;&gt;http://csscomb.com/&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/804433626857355876/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2015/09/atom.html#comment-form' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/804433626857355876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/804433626857355876'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2015/09/atom.html' title='[ЧЕРНОВИК] Atom для домохозяек'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC9CCNJUmoMTiTFReAWZAmV6O0BUeyR9sNWV1nhiFIae4dLFXuIcVlqdTE2MbLRQxX6CRMl1GSA9jh9dGS_Z9Hx9Y8nqxzfbTSTFmEfALAgoTMqEkOuzDkpOGSw8bwRSsrgR4fawA9uOjh/s72-c/Atom-Logo.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-1203761343042774185</id><published>2015-08-06T10:20:00.000+03:00</published><updated>2015-08-31T11:04:19.691+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="github"/><category scheme="http://www.blogger.com/atom/ns#" term="github pages"/><category scheme="http://www.blogger.com/atom/ns#" term="msysgit"/><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><category scheme="http://www.blogger.com/atom/ns#" term="tortoisegit"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>[ЧЕРНОВИК] Git, Github и Github pages или &quot;Маленькое чёрное платье&quot;</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdEf7qvwj0JyA3LUVyq-ZGBaRL4k_RyPHHNNIF1kq3Km9CEZAn-bY7fZE4567_6-1AzJ1ZTZGiv0NzugtemkvD8ZL6beHXU3Huf186Q5hbKyKWWpTmdWMNP8d2IOveWwxJkdb-lU9zbdq/s1600/MSYSGIT.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdEf7qvwj0JyA3LUVyq-ZGBaRL4k_RyPHHNNIF1kq3Km9CEZAn-bY7fZE4567_6-1AzJ1ZTZGiv0NzugtemkvD8ZL6beHXU3Huf186Q5hbKyKWWpTmdWMNP8d2IOveWwxJkdb-lU9zbdq/s320/MSYSGIT.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;cite&gt;&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;У каждой женщины должно быть маленькое чёрное платье&lt;/cite&gt; (c) Так и каждый уважающий себя web-разработчик должен уметь пользоваться такими инструментами как git и github.&lt;br /&gt;
&lt;br /&gt;
Эта статья, назовём её второй, об азах работы с системой контроля версий. Первая вот &lt;a href=&quot;http://jinnmv.blogspot.com/2015/07/gulp-web.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;.&lt;br /&gt;
И как всегда один нюанс - всё это дело под Windows (таково пожелание клиента :( ).&lt;br /&gt;
&lt;div more=&quot;&quot; style=&quot;clear: both;&quot;&gt;
&lt;h3&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h3&gt;
Немного теории&lt;/h3&gt;
VCS (version control system) - система контроля версий, основная задача которой вести учёт всех изменений в коде проекта сделанных разными участниками. Она позволяет посмотреть всю историю изменений каждого файла (кто/когда/что).&lt;br /&gt;
Да, никто не мешает и одному пользоваться системой контроля версий - следить за самим собой. Да и основная цель использования системы контроля версий, в нашем случае - это разработка одного проекта из разных мест (дом-работа).&lt;br /&gt;
&lt;br /&gt;
Бывают централизованные и распределённые системы контроля версий. Git относится к распределённым. Для наших задач, конечно же лучше подошла бы централизованная, но &lt;strike&gt;мы упоротые&lt;/strike&gt; нам так удобнее, из-за github хостинга.&lt;br /&gt;
&lt;br /&gt;
Популярные распределённые vcs:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot;&gt;git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;hg (&lt;a href=&quot;https://mercurial.selenic.com/&quot; target=&quot;_blank&quot;&gt;mercurial&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
Популярне централизованные vcs:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://subversion.apache.org/&quot; target=&quot;_blank&quot;&gt;svn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Git, к стати, изначально писался Линусом Торвальдсом (автором ядра Линукс), для хранения иходных текстов ядра, потому как его не устраивал тот теущий инструмент (не вспомню название), которым они пользовались до этого. Перевод интервью на &lt;a href=&quot;http://geektimes.ru/post/248744/&quot; target=&quot;_blank&quot;&gt;Geektimes&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Подготовка&lt;/h3&gt;
Сразу к практике.&lt;br /&gt;
&lt;h4&gt;
Github&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK72o4EfsDY110TRe1RjOI5MJWfk2xTL5wp-cqWziz2d478gw-xpd7S2ONtTewb_GAnqEAD_U_E1xi60QGtam4Qni1wXEjmxeGIiGwNZktnmF1-QDxVPe4QOF86_fJCZNsOVn9QkwTg91g/s1600/GitHub_NewRepo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;
&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Регистрируемся на &lt;a href=&quot;https://github.com/&quot;&gt;https://github.com/&lt;/a&gt;&lt;br /&gt;GitHub - это условно-бесплатный хостинг git-репозиториев, который даёт ещё много приятных плюшек (вики, баги, пулл-реквесты, итд).&lt;/li&gt;
&lt;li&gt;Создаём новый репозиторий&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK72o4EfsDY110TRe1RjOI5MJWfk2xTL5wp-cqWziz2d478gw-xpd7S2ONtTewb_GAnqEAD_U_E1xi60QGtam4Qni1wXEjmxeGIiGwNZktnmF1-QDxVPe4QOF86_fJCZNsOVn9QkwTg91g/s1600/GitHub_NewRepo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK72o4EfsDY110TRe1RjOI5MJWfk2xTL5wp-cqWziz2d478gw-xpd7S2ONtTewb_GAnqEAD_U_E1xi60QGtam4Qni1wXEjmxeGIiGwNZktnmF1-QDxVPe4QOF86_fJCZNsOVn9QkwTg91g/s1600/GitHub_NewRepo.png&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Public &lt;/b&gt;- потому как за закрытые репозитории нужно платить. Но нам же нечего стесняться, ведь так?&lt;br /&gt;Здесь можно выбрать автоматическое создание &lt;b&gt;README&lt;/b&gt;, пригодится.&lt;/li&gt;
&lt;/ol&gt;
Отлично, теперь у нас есть свой личный кусочек пространства. На этом пока можно остановиться.&lt;br /&gt;
&lt;h4&gt;
Windows Git&lt;/h4&gt;
&lt;b&gt;MSYSGIT&lt;/b&gt; &lt;br /&gt;
Хоть Git и был написан под Linux-ом для использования под Linux-ом, но всё же есть более-менее адекватный варинат под Windows &lt;a href=&quot;https://msysgit.github.io/index.html&quot;&gt;https://msysgit.github.io/index.html&lt;/a&gt;.&lt;br /&gt;
Cкачиваем, устанавливаем. &lt;kbd&gt;Next &amp;gt; Next &amp;gt; Next&lt;/kbd&gt;.&lt;br /&gt;
Можно остановить внимание на следующих скринах:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8RcIuYFAB1J7s14yNK_NqYu7e-gbCdbXWyDTM5Znu8ZvOhyphenhyphenARbxw2150WBF3LHIk7iz5gquifMSEtiqWLKne1OnWjJ0xlZtAGzPedaznF5fVp7s3GPpbeRBKdgSd_QfkzciqqheYWZQUs/s1600/GitSetup_shell.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8RcIuYFAB1J7s14yNK_NqYu7e-gbCdbXWyDTM5Znu8ZvOhyphenhyphenARbxw2150WBF3LHIk7iz5gquifMSEtiqWLKne1OnWjJ0xlZtAGzPedaznF5fVp7s3GPpbeRBKdgSd_QfkzciqqheYWZQUs/s1600/GitSetup_shell.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
&quot;Направо пойдёшь, коня потеряешь&quot; (с).&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;использовать git только из собственной коммандной строки;&lt;/li&gt;
&lt;li&gt;использовать git ещё и в системной коммандной строке (та, которая &lt;kbd&gt;cmd&lt;/kbd&gt;);&lt;/li&gt;
&lt;li&gt;использовать git и кучу Unix-овых утилит в коммндной строке Windows (перепишет стандартные встроенные).&lt;/li&gt;
&lt;/ol&gt;
Рекомендую либо первый, либо второй пункт. Если не будет желания ковырять консольные комманды git - то первый, если будет - то второй. &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirzk0B8-bxXJl09ZdsTPYfjv6Zi1A5OJ5HtIxVgiMNxtb0UtIITCPcQrdLjbTr4yVzKtbW-s07K6i7h1TESzpOnugKcGf_rHPw0aDUsAQD3jv3NTvMjo6vCSZuqJUCxYfeJhpOZjfXDUT7/s1600/GitSetup_lineendings.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirzk0B8-bxXJl09ZdsTPYfjv6Zi1A5OJ5HtIxVgiMNxtb0UtIITCPcQrdLjbTr4yVzKtbW-s07K6i7h1TESzpOnugKcGf_rHPw0aDUsAQD3jv3NTvMjo6vCSZuqJUCxYfeJhpOZjfXDUT7/s1600/GitSetup_lineendings.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
Line-end-инги - попаболь и холивар всех времён:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Чекаут - windows style (CR+LF), коммит в репозиторий в Unix style (LF);&lt;/li&gt;
&lt;li&gt;Чекаут как есть, коммит в Unix style;&lt;/li&gt;
&lt;li&gt;Чекаут как есть, коммит как есть.&lt;/li&gt;
&lt;/ol&gt;
(по простому: Windows использует два символа для переноса строки, а Unix-семья - один).&lt;br /&gt;
Рекомендую второй.&lt;br /&gt;
&lt;br /&gt;
Далее он попросит около 100 Мб свободного места и притащит с собою друганов - разные полезные unix-утилиты (mingw).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;TortoiseGit&lt;/b&gt;&lt;br /&gt;
И для облегчения жизни новичкам советую доустановить TortoiseGit &lt;a href=&quot;https://code.google.com/p/tortoisegit/&quot;&gt;https://code.google.com/p/tortoisegit/&lt;/a&gt;. Он даст более наглядное представление что происходит и более тесную интеграцию с проводником Windows.&lt;br /&gt;
Устанавливаем методом &lt;kbd&gt;Next &amp;gt; Next &amp;gt; Next&lt;/kbd&gt;.&lt;br /&gt;
&lt;br /&gt;
Необходимо выполнить первоначальную настройку утилиты. К настройкам TortoiseGit можно добраться либо из контекстного меню &lt;kbd&gt;TortoiseGit &amp;gt; Settings&lt;/kbd&gt;, либо из меню &quot;Пуск&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmhIHiUJ53d9gOCfSVDX8D1fgGHKsIP_SIULUVSZdQhCNbYgmyTj4hj1Y7c3wT_aca8Ondm76HB4rXJm-nipBUjEg5cOCdi2fOax5EXliVZisUZM9VLuKcKMoBucbYJc9RT5gDOsqsm5si/s1600/TortoiseGit-configuration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmhIHiUJ53d9gOCfSVDX8D1fgGHKsIP_SIULUVSZdQhCNbYgmyTj4hj1Y7c3wT_aca8Ondm76HB4rXJm-nipBUjEg5cOCdi2fOax5EXliVZisUZM9VLuKcKMoBucbYJc9RT5gDOsqsm5si/s1600/TortoiseGit-configuration.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
Необходимо указать своё имя и адрес электронной почты (просто для справки).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Public/Private Keys&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Для дальнейшей работы с внешним репозиторием Git (GitHub), необходимо сгенерировать пару публичного и приватного ключей. По этой паре ключей внешний репозиторий (сервер) сможет вас опознать со 146% точностью.&lt;br /&gt;
&lt;br /&gt;
Для этого в меню &quot;Пуск&quot; необходимо найти и запустить PuTTYgen.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Y9WsBl2_QTemDwpZr9di7TSQSu6wR8JzZw3aJv6rv3xiN5mjg2x73F3Tv48_o29yWZjmPuvlVgb7H-lXWaknrg-jE8xaVFuPDsFmyRVA2pD4qmZ_9s56bgZ4FNp7rvtrBZsTXMqW4WnX/s1600/PuTTY_KeyGen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Y9WsBl2_QTemDwpZr9di7TSQSu6wR8JzZw3aJv6rv3xiN5mjg2x73F3Tv48_o29yWZjmPuvlVgb7H-lXWaknrg-jE8xaVFuPDsFmyRVA2pD4qmZ_9s56bgZ4FNp7rvtrBZsTXMqW4WnX/s1600/PuTTY_KeyGen.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
Нажмите кнопку &lt;kbd&gt;Generate&lt;/kbd&gt; и бурно по-двигайте мышью для создания хаотичной атмосферы.&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt-3iZpnCdcCzuUrDjI0f_I9t65S-A4TN1Qn1XUKa2NUsluTr1OoWuO8U901JOiWheNSieI2uhArAaPnrBdm2mxZX1J5ByrfmYyGAgn2k6z3bCBC4mVfFHDL1Oo5niZbQmHwualnsw0Fdk/s1600/PuTTY_KeyGen_Key.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt-3iZpnCdcCzuUrDjI0f_I9t65S-A4TN1Qn1XUKa2NUsluTr1OoWuO8U901JOiWheNSieI2uhArAaPnrBdm2mxZX1J5ByrfmYyGAgn2k6z3bCBC4mVfFHDL1Oo5niZbQmHwualnsw0Fdk/s1600/PuTTY_KeyGen_Key.png&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Здесь можно изменить название (комментарий) ключа и задать пароль (пароль можно и не указывать, на свой страх и риск).&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
В верхнем секции нам показали публичный ключ, его можно (и нужно) скопировать на сервер (внешний репозиторий - GitHub). Приватный ключ не показывают, на то он и приватный. И вообще, приватный ключ желательно, чтобы лежал в укромном, но доступном месте. Если до него доберутся злоумышленники, то ваше зашифрованное/защищённое соединение перестанет быть таковым.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Жмём кнопки &lt;kbd&gt;Save public key&lt;/kbd&gt;, &lt;kbd&gt;Save private key&lt;/kbd&gt; и сохраняем ключи. Желательно использовать директорию &lt;kbd&gt;%HOME%/.ssh&lt;/kbd&gt; (напр. &lt;kbd&gt;C:/Users/Anton/.ssh&lt;/kbd&gt;).&lt;br /&gt;
&lt;br /&gt;
Теперь в меню &lt;kbd&gt;Conversion &amp;gt; Export OpenSSH key&lt;/kbd&gt; и выбираем каталог (тот же).&lt;br /&gt;
&lt;br /&gt;
Рекомендуемые имена файлов (чтобы потом меньше проблем было):&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;публичный ключ: &lt;kbd&gt;id_rsa.pub&lt;/kbd&gt;&lt;/li&gt;
&lt;li&gt;приватный ключ &lt;kbd&gt;PuTTY: id_rsa.ppk&lt;/kbd&gt;&lt;/li&gt;
&lt;li&gt;приватный ключ (стандартный ssh): &lt;kbd&gt;id_rsa&lt;/kbd&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Теперь можно скопировать пуьличный ключ из верхней секции (он совпадает с сохранённым) и добавить его в список авторизированных на GitHub (верхний правй угол &lt;kbd&gt;&amp;gt; Settings &amp;gt; SSH Keys &amp;gt; Add SSH Key&lt;/kbd&gt;), название (title) может быть произвольным.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Можно закрывать генератор.&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
А теперь все вместе&lt;/h4&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Попробуем завести теперь это всё вместе. Для этого на GitHub-е откроем созданные раннее репозиторий, найдём в правой части URL, по которому можно достучаться до него:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRti7d8MP33Klg7I_8EvReUrNFsHkbPYcmztJJPE_K-vk-LWnFyobdsbBMc7VSNH2GfpVkCr11utiOtUSInhwRvxFP20opy_5SYA7hlEChkeuCmvZhk4cB1xBZh7QDobBXitTZIir4FyXO/s1600/GitHub_URL.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRti7d8MP33Klg7I_8EvReUrNFsHkbPYcmztJJPE_K-vk-LWnFyobdsbBMc7VSNH2GfpVkCr11utiOtUSInhwRvxFP20opy_5SYA7hlEChkeuCmvZhk4cB1xBZh7QDobBXitTZIir4FyXO/s1600/GitHub_URL.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
скопируем адрес&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Далее вызываем контекстное меню в необходимом каталоге &lt;kbd&gt;&#39;Git Clone...&#39;&lt;/kbd&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVrQcJdiXFeDrfDtHM_XPNnWulVy7PDuHgPAdNwx-qGOl1-HAGzUk3NlfNJNSSzG9AMsY1u1Ps74mzz7nDNjNOZ6m-KBQ7j-akYD0eS-HwvmpkOVCZol3Pn-s9yVZmpHpPTkkpScBd50gm/s1600/TortoiseGit-clone.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVrQcJdiXFeDrfDtHM_XPNnWulVy7PDuHgPAdNwx-qGOl1-HAGzUk3NlfNJNSSzG9AMsY1u1Ps74mzz7nDNjNOZ6m-KBQ7j-akYD0eS-HwvmpkOVCZol3Pn-s9yVZmpHpPTkkpScBd50gm/s1600/TortoiseGit-clone.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Здесь можно изменить создаваемый каталог (будет соответствовать названию репозитория) и необходимо указать путь к приватному ключу (созданному раннее).&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Если к ключу был задан пароль - здесь его попросят ввести.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Далее нам предложат запомнить этот сервер как доверенный (ему можно доверять).&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfbHtP3QWjUOIwYGoe1gTYZa7gpKJqj2cN5n1jb0TR6BDxgg4psVLvul10z_qPuuSvWV6UXiU7Z9G_asSDNLlaDymhgiFGl3luLTR1dvHu9b5FgnyvH7F9CTPyvmDF2FEQMS2BdxrX638v/s1600/TortoiseGit-fingerprint.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;strike&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfbHtP3QWjUOIwYGoe1gTYZa7gpKJqj2cN5n1jb0TR6BDxgg4psVLvul10z_qPuuSvWV6UXiU7Z9G_asSDNLlaDymhgiFGl3luLTR1dvHu9b5FgnyvH7F9CTPyvmDF2FEQMS2BdxrX638v/s1600/TortoiseGit-fingerprint.png&quot; /&gt;&lt;/strike&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Готово.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
После перезагрузки в проводнике появятся цветные маркеры, обозначающие статус файлов.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Git и TortoiseGit&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Добавим несколько файлов в каталог.&lt;br /&gt;
Теперь для того, чтобы добавить их в индекс репозитория, необходимо git-у об этом явно укзать - самое проще из контекстного меню по файлам/каталогу.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBqjlzsj09pjfEDE9ZpC1PrBBF1WmnQnC5YXwky8eGOdyhaxCx7kExLTjvHz8FcXKubXEZO8Wa35ORqdkXLCVCGx8LisRX8Jp6cr0s1hciRtZGbi2HwaoJc0f_r-rHns6JuWTBu26AL0Rp/s1600/TortoiseGit-context_menu.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBqjlzsj09pjfEDE9ZpC1PrBBF1WmnQnC5YXwky8eGOdyhaxCx7kExLTjvHz8FcXKubXEZO8Wa35ORqdkXLCVCGx8LisRX8Jp6cr0s1hciRtZGbi2HwaoJc0f_r-rHns6JuWTBu26AL0Rp/s1600/TortoiseGit-context_menu.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span id=&quot;goog_1587638975&quot;&gt;&lt;/span&gt;Здесь либо Git Add all files now, либо TortoiseGit &amp;gt; Add... Выбираем все файлы и Ок.&lt;br /&gt;
&lt;br /&gt;
Теперь они находятся в индексе, и Git за ними следит.&lt;br /&gt;
&lt;br /&gt;
Далее необходимо &quot;закоммитить&quot; изменения - сохранить в локальном репозитории. Это гарантия того, что ваши изменения останутся сохранены в репозитории.&lt;br /&gt;
Git Commit -&amp;gt; &#39;master&#39;... &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL0k1v3L440LKh3otgOr8etn90bd3l2mQ0atwx5XpLBJ3SAiVHRYkoBncOPRrfnX2JweEpvXPMPWmwP-lAEJ7Tmhubb4PVi2NgJZU-n05byKnJyV3MAeb0lcQe7ypL2ZOTkNuK_aKXP_7n/s1600/TortoiseGit-commit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL0k1v3L440LKh3otgOr8etn90bd3l2mQ0atwx5XpLBJ3SAiVHRYkoBncOPRrfnX2JweEpvXPMPWmwP-lAEJ7Tmhubb4PVi2NgJZU-n05byKnJyV3MAeb0lcQe7ypL2ZOTkNuK_aKXP_7n/s1600/TortoiseGit-commit.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Желательно взять за правило ВСЕГДА оставлять комментарий о том, что коммитися. И один коммит на одно логическое изменение.&lt;br /&gt;
&lt;br /&gt;
Эти изменения остались в локальном репозитории. Для того, чтобы отправить их на удалённый репозиторий (GitHub) необходимо выполнить операцию Push.&lt;br /&gt;
&lt;br /&gt;
Это можно сделать сразу после коммита, в окошке отчёта:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVxI2ZTwuFO5oXLNmFJrQuOToOABNf4cQyma0dkplFnXJ45l_HPEaJ1V927y9LyQY-rMksINJAf6Fsp4jngaD09CFH2nkNrPzVOdrIMlURsfQ6o-ZM6SmSvwzWrhbdFW7Oqds4xOHaaDa/s1600/TortoiseGit-commit-push.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPVxI2ZTwuFO5oXLNmFJrQuOToOABNf4cQyma0dkplFnXJ45l_HPEaJ1V927y9LyQY-rMksINJAf6Fsp4jngaD09CFH2nkNrPzVOdrIMlURsfQ6o-ZM6SmSvwzWrhbdFW7Oqds4xOHaaDa/s1600/TortoiseGit-commit-push.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Либо из контекстного меню &lt;kbd&gt;Git Sync...&lt;/kbd&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://draft.blogger.com/blogger.g?blogID=4730310736572460006&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVORnzOWka4FMxnijK5S4UY9Bexk0-JvHp5_yzx48Nm4KRD4UCqOQi3NJWDO5JHoJcbJtS-UjkaFza8tWeJiY4zq8Y1BYHSJzy5G1uK71vb27Qw0vbohzJxRgSDp-YnQZJCtlGZlpwUQYa/s1600/TortoiseGit-Sync.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVORnzOWka4FMxnijK5S4UY9Bexk0-JvHp5_yzx48Nm4KRD4UCqOQi3NJWDO5JHoJcbJtS-UjkaFza8tWeJiY4zq8Y1BYHSJzy5G1uK71vb27Qw0vbohzJxRgSDp-YnQZJCtlGZlpwUQYa/s1600/TortoiseGit-Sync.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
нажать на кнопку Push.&lt;br /&gt;
&lt;br /&gt;
Всё, теперь эти изменения можно увидать в GitHub-е. .. и начать работать с ним.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Промежуточное заключение&lt;/h3&gt;
Теперь свою работу в нескольких местах можно строить таким образом: на одном рабочем месте: Update (Pull), Commit, Commit, Push. на другом: Update (Pull), Commit, Commit, Push, и т.д. &lt;/div&gt;
&lt;h3&gt;
Git&lt;/h3&gt;
Теперь сам Git и его инструменты.&lt;br /&gt;
Для тех, кто не хочет углублятся, и достаточно тыцаняь мышкой в менюшки - советую пропустить эту часть и перейти к следующей, дабы не засорять голову раньше времени.&lt;br /&gt;
&lt;br /&gt;
По-большому счёту следущая часть будет вольным переводом туториала &lt;a href=&quot;https://git-scm.com/docs/gittutorial&quot;&gt;https://git-scm.com/docs/gittutorial&lt;/a&gt;. Вместо него можно почитать что-то в роде &lt;a href=&quot;http://rogerdudler.github.io/git-guide/index.ru.html&quot;&gt;http://rogerdudler.github.io/git-guide/index.ru.html&lt;/a&gt; на русском языке.&lt;br /&gt;
В дальнейшем большинство операций будет производится в консоли git, которая должна была установится вместе с MSYSGIT и быть доступна либо в меню пуск, либо в контекстном меню.&lt;br /&gt;
Отважным любителям консоли под Windows возможно будет интересно попробовать один из проектов улучшенного терминала:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ConEmu &lt;/b&gt;https://conemu.github.io/en/&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Console2&lt;/b&gt; (к сожалению единственное место, как оффициальный сайт указан SourceForge, который в последнее время протух, то ссылку на него давать не буду - без труда найдёте сами)&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;Первое, что необходимо сделать, перед началом работы - указать Имя и e-mail, если этого не было сделано раньше:&lt;br /&gt;
&lt;br /&gt;
$ git config --global user.name &quot;Your Name Comes Here&quot;&lt;br /&gt;
$ git config --global user.email you@yourdomain.example.com&lt;br /&gt;
&lt;br /&gt;
Для создания новго репозитория (совсем нового), используется команда&lt;br /&gt;
&lt;br /&gt;
$ git init&lt;br /&gt;
&lt;br /&gt;
Теперь можно добавить желаемые файлы в папку репозитория (создать/скопировать/распаковать). И добавить их в репозиторий git&lt;br /&gt;
&lt;br /&gt;
$ git add .&lt;br /&gt;
&lt;br /&gt;
Символ точка добавит все файлы рекурсивно. Если есть необходимость явно задать список файлов, то их нужно указывать через пробел вместо точки.&lt;br /&gt;
&lt;br /&gt;
$ git add file1 file2 file3&lt;br /&gt;
&lt;br /&gt;
Теперь эти фалы помещены git-ом во временное хранилище (index). Для того что бы добавленные файлы попали в репозиторий, необходимо выполнить&lt;br /&gt;
&lt;br /&gt;
$ git commit&lt;br /&gt;
&lt;br /&gt;
это перенесёт все содержимое идексов в репозиторий (сделает снимок) и запросит комментарий к коммиту.&lt;br /&gt;
Для того, что бы коммитить сразу с комментарием:&lt;br /&gt;
&lt;br /&gt;
$ git commit -m &#39;&amp;lt;your comment&amp;gt;&#39;&lt;br /&gt;
&lt;br /&gt;
По-идее это будет первые коммит, первый слепок репозитория.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Первые изменения&lt;/b&gt;&lt;br /&gt;
Можно создать несколько файлов и добавить их репозиторий.&lt;br /&gt;
Посмотреть разницу между последним закоммиченным слепком и текущим индексом:&lt;br /&gt;
&lt;br /&gt;
$ git diff --cached&lt;br /&gt;
&lt;br /&gt;
Та же комманда без --cached покажет изменения, не добавленные в индекс.&lt;br /&gt;
&lt;br /&gt;
$ git commit -m &#39;&amp;lt;message&amp;gt;&#39;&lt;br /&gt;
&lt;br /&gt;
добавит изменения в репозиторий.&lt;br /&gt;
&lt;br /&gt;
Можно упростить путь помещения файла в репозиторий: &lt;br /&gt;
&lt;br /&gt;
$ git commit -a&lt;br /&gt;
&lt;br /&gt;
добавит файл и закоммитит сразу.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;История изменений&lt;/b&gt;&lt;br /&gt;
Для просмотра истории коммитов&lt;br /&gt;
$ git log&lt;br /&gt;
&lt;br /&gt;
ключ -p покажет и непосредственно сами изменения (текст) между коммитами:&lt;br /&gt;
$ git log -p&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ветвления&lt;/b&gt;&lt;br /&gt;
Ветвления (или бранчевания / бранчи) - это одно из самых основных инструментов git. Бранчи позволяют создать копию репозитория рядом с текущей версией, для каких-то изменений/экспериментов, а потом их объединить.&lt;br /&gt;
Варинатов использования этой возможности довольно много, на нём можно построить целый процесс разработки продукта. В этой статье описан один из них &lt;a href=&quot;http://habrahabr.ru/post/106912/&quot;&gt;http://habrahabr.ru/post/106912/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
$ git branch&lt;br /&gt;
&lt;br /&gt;
покажет список всех веток в текущем репозитории по-умолчанию основная ветка - master.&lt;br /&gt;
Для создания новой ветки необходимо выполнить следующую комманду:&lt;br /&gt;
&lt;br /&gt;
$ git branch feature1&lt;br /&gt;
&lt;br /&gt;
переключит репозиторий на ветку feature1&lt;br /&gt;
&lt;br /&gt;
Далее можно внести некоторые изменения, закоммитить в ветке feature1 и объединить изменения с master:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced; padding-left: 1em;&quot;&gt;
&lt;code&gt;
$ git checkout master&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ebeced; padding-left: 1em;&quot;&gt;
&lt;code&gt;
$ git merge feature1&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
Тут можно удалить бранч feature 1&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced; padding-left: 1em;&quot;&gt;
&lt;code&gt;
$ git branch -d feature1&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
Если буду не объединённые изменения, вас об этом предупредят. Для удаления ветки &quot;без вопросов&quot; необходимо использовать ключ &lt;kbd&gt;-D&lt;/kbd&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced; padding-left: 1em;&quot;&gt;
&lt;code&gt;$ git branch -D feature1&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- ... -- &lt;br /&gt;
&lt;h2&gt;
GitHub Pages&lt;/h2&gt;
Есть в GitHub такая замечательная функциональность, как GitHubPages - это возможность бесплатно крутить свою статику на GitHub, рядом со своим репозиторием.&lt;br /&gt;
&lt;br /&gt;
В разделе своего репозитория, справа выбрать &lt;kbd&gt;Settings &amp;gt; Options&lt;/kbd&gt; (первая секция) &lt;kbd&gt;&amp;gt;&lt;/kbd&gt; прокрутить до &lt;kbd&gt;GitHub Pages&lt;/kbd&gt; и нажать &lt;kbd&gt;Launch automatic page generator&lt;/kbd&gt;. Далее можно не заморачиваться, &lt;kbd&gt;Next &amp;gt; Next&lt;/kbd&gt;, выбираем шаблон, мне понравился Minimal. Тут без разницы какой выбрать, потом его всё-равно можно/нужно будет править. &lt;kbd&gt;&amp;gt; Publish Page&lt;/kbd&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5witpu0rWIvloePIEvpOpV3p2KwMkr8xvll69MNdGex272voVniREcqQH1QRTN7CfZDWICiSKxtpskk9sbroeLLrdu2V6L6xqvGclun1DR4fK8XEAFZar6r7f7YQc6KTe_FxaMZEj1bwx/s1600/GitHub_Repo-menu.png&quot; /&gt;
&lt;/div&gt;
Теперь на удалённом репозитории для нас была создана отдельная ветка (gh-pages) со статикой, которую собственно, можно тепреь изменять как нам захочется. Это будет, в каком-то роде, визитной карточкой репозитория. Адрес, по которому GitHub будет хостить эту статику будет: https://&amp;lt;username&amp;gt;.github.io/&amp;lt;RepoName&amp;gt;, ну он там в любом случае напишет точный url, когда создаст.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы переключить локальный репозиторий на другую ветку в TortoiseGit, выбрать в контекстном меню репозитория &lt;kbd&gt;TortoiseGit &amp;gt; Switch/Checkout...&lt;/kbd&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlEuwoAy0l6XkiL1h2kw_BOCMvUZY2w2fGGootCi6AW91i5sK_YQnIbw1uzfUxTVlMbsJRHK5F9jBN1wKHkt3Pq_cVxM9ATFjw22I0AeAWI4QqutHBalZuJ0zHSJYAI2NQNUml9CFTufN/s1600/TortoiseGit-checkout.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmlEuwoAy0l6XkiL1h2kw_BOCMvUZY2w2fGGootCi6AW91i5sK_YQnIbw1uzfUxTVlMbsJRHK5F9jBN1wKHkt3Pq_cVxM9ATFjw22I0AeAWI4QqutHBalZuJ0zHSJYAI2NQNUml9CFTufN/s1600/TortoiseGit-checkout.png&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
и выбрать &lt;kbd&gt;gh-pages&lt;/kbd&gt;.&lt;br /&gt;
&lt;br /&gt;
Таким же образом можно будет вернуться в Master.&lt;br /&gt;
&lt;br /&gt;
Внимание!! переключение бранчей (веток) лучше выполнять, когда все изменения &quot;закоммичены&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Полезные ссылки&lt;/b&gt;:&lt;br /&gt;
Оффициальный сайт Git: &lt;a href=&quot;https://git-scm.com/&quot;&gt;https://git-scm.com&lt;/a&gt;&lt;br /&gt;
Толковая документация по Git [EN]: &lt;a href=&quot;https://git-scm.com/doc&quot;&gt;https://git-scm.com/doc&lt;/a&gt;&lt;br /&gt;
Git для Windows: &lt;a href=&quot;https://msysgit.github.io/index.html&quot;&gt;https://msysgit.github.io/index.html&lt;/a&gt;&lt;br /&gt;
Tortoise Git: &lt;a href=&quot;https://code.google.com/p/tortoisegit/&quot;&gt;https://code.google.com/p/tortoisegit/&lt;/a&gt;&lt;br /&gt;
Книга Pro Git: &lt;a href=&quot;https://git-scm.com/book/ru/v2&quot;&gt;https://git-scm.com/book/ru/v2&lt;/a&gt;&lt;br /&gt;
Статья &quot;Удачная модель ветвления для Git&quot;: &lt;a href=&quot;http://habrahabr.ru/post/106912/&quot;&gt;http://habrahabr.ru/post/106912/&lt;/a&gt;&lt;br /&gt;
https://gist.github.com/cobyism/4730490&lt;br /&gt;
https://git-scm.com/docs/gittutorial&lt;br /&gt;
http://githowto.com/ru &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P.S.&lt;/b&gt;: Написано специально для Серёги и Жеки.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/1203761343042774185/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2015/08/git-github-github-pages.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/1203761343042774185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/1203761343042774185'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2015/08/git-github-github-pages.html' title='[ЧЕРНОВИК] Git, Github и Github pages или &quot;Маленькое чёрное платье&quot;'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdEf7qvwj0JyA3LUVyq-ZGBaRL4k_RyPHHNNIF1kq3Km9CEZAn-bY7fZE4567_6-1AzJ1ZTZGiv0NzugtemkvD8ZL6beHXU3Huf186Q5hbKyKWWpTmdWMNP8d2IOveWwxJkdb-lU9zbdq/s72-c/MSYSGIT.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-615690054820480695</id><published>2015-07-13T16:23:00.002+03:00</published><updated>2019-11-08T12:32:17.341+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="last business day of month"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="pl/sql"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="последний рабочий день месяца"/><title type='text'>Последний рабочий день месяца SQL (Oracle)</title><content type='html'>Стала необходимость определить, является ли заданная дата последним &lt;u&gt;рабочим&lt;/u&gt; днём месяца средствами SQL (Oracle). Довольно нетрививальная задачка.&lt;br /&gt;
&lt;br /&gt;
Вот что нарылось:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;
var psysdate varchar2;&lt;br /&gt;
exec :psysdate := to_date(&#39;01-MaY-2015&#39;,&#39;dd-mon-yyyy&#39;);&lt;br /&gt;&lt;br /&gt;
select decode( rtrim(to_char(last_day(:psysdate),&#39;DAY&#39;)),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#39;SATURDAY&#39;,last_day(:psysdate)-1,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#39;SUNDAY&#39;,last_day(:psysdate)-2,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_day(:psysdate)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;) business_date,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;to_char(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;decode( rtrim(to_char(last_day(:psysdate),&#39;DAY&#39;)),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#39;SATURDAY&#39;,last_day(:psysdate)-1,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#39;SUNDAY&#39;,last_day(:psysdate)-2,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_day(:psysdate)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;),&#39;DAY&#39;
&amp;nbsp;&amp;nbsp;) business_day&lt;br /&gt;
from dual;&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;code&gt;
BUSINESS_DATE&amp;nbsp;BUSINESS_DAY&lt;br /&gt;
-------------&amp;nbsp;------------&lt;br /&gt;
29-May-2015&amp;nbsp;&amp;nbsp;&amp;nbsp;FRIDAY
&lt;/code&gt;&lt;/blockquote&gt;
via:&lt;a href=&quot;http://oracle.ittoolbox.com/groups/technical-functional/oracle-db-l/how-to-get-the-last-business-day-of-a-month-2086576&quot; target=&quot;_blank&quot;&gt; http://oracle.ittoolbox.com/groups/technical-functional/oracle-db-l/how-to-get-the-last-business-day-of-a-month-2086576&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/615690054820480695/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2015/07/sql-oracle.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/615690054820480695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/615690054820480695'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2015/07/sql-oracle.html' title='Последний рабочий день месяца SQL (Oracle)'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-4585523714772213208</id><published>2015-07-13T15:25:00.001+03:00</published><updated>2015-09-20T20:21:43.942+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gulp"/><category scheme="http://www.blogger.com/atom/ns#" term="node.js"/><title type='text'>Gulp для статики</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ri1dU0xqJtivKaJZ-s6MKoruhNEU4mkimTF-Je-6lyQxdwnFfkCPSjHLggzT9SbOBylwPkTGbW6MPdvBZ0DzlOt5ch0R-bnIhEJekJBcjz2xD4kHsETRPT2CM6ISkPTYoX6ZJkmKiFmH/s640/000_Gulp.png&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;
Статья описывает пошаговую настройку &lt;b&gt;Gulp&lt;/b&gt; для обслуживания статических web-страничек (вёрстка).&lt;br /&gt;
Один нюанс - эту всю прелесть будем заводить под Windows (таково пожелание клиента :( ).&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Необходим поставить &lt;b&gt;Node.js&lt;/b&gt;.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Проще всего это сделать с оффициального сайта &lt;a href=&quot;https://nodejs.org/&quot;&gt;https://nodejs.org/&lt;/a&gt;, и нажать большую зелёную кнопку [&lt;b&gt;Install&lt;/b&gt;].&lt;/li&gt;
&lt;li&gt;Скачать инсталлятор и установить методом &lt;kbd&gt;Next &amp;gt; Next &amp;gt; Next&lt;/kbd&gt;...&lt;/li&gt;
&lt;li&gt;!!!&lt;b&gt;Важно&lt;/b&gt;: не забыть проверить, что среди компонентов для установки выбраны &lt;b&gt;npm package manager&lt;/b&gt; и &lt;b&gt;Add to PATH&lt;/b&gt;.&lt;br /&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinqdXRy1gPFmxHRwPAeeKAQOJ9KArpdpIyNQjccU-mC53WGrDrXg8tk6oPvlawDKNth0ZTlsuMMg9WyZaAMt3mzmwPY6o-f7XxghNqRVnyFrapAO6GVHgNt0P64vCADflzkvK9hVdgA7wO/s1600/001_Node.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Создать в папке с проектом два каталога _src и _dist.&lt;br /&gt;В &lt;kbd&gt;_src&lt;/kbd&gt; будут &quot;исходные&quot; файлы (каталоги &lt;kbd&gt;js&lt;/kbd&gt;, &lt;kbd&gt;css&lt;/kbd&gt;, &lt;kbd&gt;img&lt;/kbd&gt;, &lt;kbd&gt;sass&lt;/kbd&gt;), в &lt;kbd&gt;_dist&lt;/kbd&gt; - скомпилированный проект с минифицированными стилями/картинками/итд.&lt;/li&gt;
&lt;li&gt;Здесь необходимо создать два тектовых файла: &lt;br /&gt;&lt;code&gt;package.json&lt;/code&gt; - настройка проекта для node.js, &lt;br /&gt;&lt;code&gt;gulpfile.js&lt;/code&gt; - файл-сценарий для gulp. &lt;br /&gt;Примеры можно взять здесь &lt;a href=&quot;https://gist.github.com/Jinnmv/1c058a65bda7d9adad22&quot;&gt;https://gist.github.com/Jinnmv/1c058a65bda7d9adad22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Пора запустить коммандную строку &lt;kbd&gt;&amp;lt;win&amp;gt;+&amp;lt;r&amp;gt;&lt;/kbd&gt; &lt;code&gt;cmd&lt;/code&gt;,&lt;br /&gt;
зайти в папку с проектом&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;code&gt;D:&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;code&gt;cd Projects\Static01&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;В коммандной строке:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;code&gt;npm install --global gulp gulp-autoprefixer gulp-imagemin gulp-livereload gulp-minify-css gulp-rename gulp-replace gulp-sass gulp-sourcemaps gulp-watch&lt;/code&gt;&lt;/div&gt;
&lt;b&gt;npm&lt;/b&gt; - node package manager, пакетный менеджер node. Данная комманда установит указанные модели/пакеты node.js глобально - т.е. в C:\User\..\AppData\..&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;code&gt;npm link&lt;/code&gt;&lt;/div&gt;
эта комманда сделает сслыки на все необходимые пакеты (указанные в package.json) из глобально установленных (дабы не занимать лишнее место на диске).
&lt;br /&gt;
если что-то пошло не так, можно прибегнуть к простому методу:
&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;code&gt;npm install&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Готово. Теперь можно запустить gulp и наслаждаться магией (&lt;code&gt;gulp&lt;/code&gt; в коммандной строке)&lt;/li&gt;
&lt;/ol&gt;
Для полного счастья было бы здорово установить плагин &lt;a href=&quot;https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei&quot;&gt;LiveReload&lt;/a&gt; для Хрома&lt;br /&gt;
&lt;br /&gt;
Теперь можно открывать файлик из &lt;code&gt;_src/index.html&lt;/code&gt; в хроме, и наслаждаться автоматичексим обновлением страницы при изменении файлов проекта.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;P.S.&lt;/b&gt;: Написано специально для Серёги.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPD&lt;/b&gt;: список изменений:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;gulpfile.js переписан так, что он теперь работает с вложенными папками внутри _src и восстанавливает их иерархию в _dist&lt;/li&gt;
&lt;li&gt;из css-файлов (не-пожатых) удалется строка с указанием sourcemap, потому как sourcemap не будет в _dist (не умеет смысла).&lt;/li&gt;
&lt;li&gt;Теперь поломан livereload, потому как непонятно какую из вложенных папок слушать. Буду искать решение.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
TODO: Добавить локальный мини-сервер + livereload. Перенос шрфитов + генерация css.</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/4585523714772213208/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2015/07/gulp-web.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/4585523714772213208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/4585523714772213208'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2015/07/gulp-web.html' title='Gulp для статики'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ri1dU0xqJtivKaJZ-s6MKoruhNEU4mkimTF-Je-6lyQxdwnFfkCPSjHLggzT9SbOBylwPkTGbW6MPdvBZ0DzlOt5ch0R-bnIhEJekJBcjz2xD4kHsETRPT2CM6ISkPTYoX6ZJkmKiFmH/s72-c/000_Gulp.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-5202593642942412319</id><published>2010-10-17T00:45:00.006+03:00</published><updated>2013-05-17T14:01:46.663+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="swapiness"/><category scheme="http://www.blogger.com/atom/ns#" term="своппинг"/><title type='text'>Снижение уровня свопинга</title><content type='html'>Если вы заметили, что система (касается *nux-like ОС) использует swap (раздел подкачки) чаще ожидаемого, то не стоит расстраиваться раньше времени. Есть простой способ настроить частоту свопинга (сбрасывания страниц памяти в своп).&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-indent: 1em;&quot;&gt;
swappiness&lt;/h3&gt;
&lt;br /&gt;
Существует параметр ядра &lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;swapiness&lt;/span&gt;&lt;/b&gt;, который отвечает за агрессивность свопинга. Его значения от &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;0&lt;/span&gt; до &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;100&lt;/span&gt; - уровень свободной памяти (в процентах), при котором система начинает активно сбрасывать своп. &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;0&lt;/span&gt; - использовать своп, только в критических ситуациях, &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;100&lt;/span&gt; - использовать как можно чаще.&lt;br /&gt;
По-умолчанию это значение равно &lt;code style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;60&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Посмотреть текущее значение параметра:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;$ cat /proc/sys/vm/swappiness&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
Для изменения значения &quot;на лету&quot;:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;# echo 20 &amp;gt; /proc/sys/vm/swappiness&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
или&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;# sysctl -w vm.swappiness=20&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
Для того, что бы установить значение &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;swapiness&lt;/span&gt; при загрузке, необходимо в файл &lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;/etc/sysctl.conf&lt;/span&gt; добавить/изменить следующее:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;vm.swappiness=20&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-indent: 1em;&quot;&gt;
vfs_cache_pressure&lt;/h3&gt;
&lt;br /&gt;
Ещё один немаловажный параметр ядра - &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;vfs_cache_pressure&lt;/b&gt;. Он отвечает за размер выделяемой памяти под&amp;nbsp; кеширование дисковых операций.&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;0&lt;/span&gt; - не кешировать ничего.&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;100&lt;/span&gt; - значение по-умолчанию.&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;gt;100&lt;/span&gt; - агрессивно кешировать дисковые операции.&lt;br /&gt;
&lt;br /&gt;
Вот &lt;a href=&quot;http://rudd-o.com/en/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that&quot;&gt;здесь&lt;/a&gt;, предлагают путём экспериментов выяснить оптимальное для вас значение. Я выбрал &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;50&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Просмотр текущего значения:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;$ cat /proc/sys/vm/vfs_cache_pressure&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
Изменить &quot;на лету&quot;:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;# echo 50 &amp;gt; /proc/sys/vm/vfs_cache_pressure&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
или&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;# sysctl -w vm.vfs_cache_pressure=50&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
Для установки значения &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;vfs_cache_pressure&lt;/span&gt; при загрузке, добавить/изменить в файле &lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;/etc/sysctl.conf&lt;/span&gt;:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;vm.vfs_cache_pressure=50&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br /&gt;
Полезные ссылки:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://ru.gentoo-wiki.com/wiki/%D0%AF%D0%B4%D1%80%D0%BE_2.6&quot;&gt;http://ru.gentoo-wiki.com/wiki/Ядро_2.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://unixforum.org/index.php?showtopic=66254&quot;&gt;http://unixforum.org/index.php?showtopic=66254&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.linuxinsight.com/proc_sys_vm_vfs_cache_pressure.html&quot;&gt;http://www.linuxinsight.com/proc_sys_vm_vfs_cache_pressure.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rudd-o.com/en/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that&quot;&gt;http://rudd-o.com/en/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://leolik.blogspot.com/2008/02/blog-post.html&quot;&gt;http://leolik.blogspot.com/2008/02/blog-post.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.archlinux.org/index.php/Maximizing_Performance&quot;&gt;http://wiki.archlinux.org/index.php/Maximizing_Performance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/5202593642942412319/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/10/blog-post.html#comment-form' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/5202593642942412319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/5202593642942412319'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/10/blog-post.html' title='Снижение уровня свопинга'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-8631126372340215551</id><published>2010-09-18T16:35:00.002+03:00</published><updated>2010-11-20T01:33:45.883+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="css3"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="tabs"/><category scheme="http://www.blogger.com/atom/ns#" term="vertical tabs"/><title type='text'>Вертикальные вкладки</title><content type='html'>В данной статье я подробно рассмотрю процесс предоставления информации на странице, с помощью вкладок. А конкретнее, речь будет идти о, не совсем стандартных, но очень удобных, вертикальных вкладках.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL1d5nQyRzdVCDBrn3HQDbORyQ4coAlQugd78ZsMI0CfhxlDiK6BQT4yv1RL6zm5zJTKemPDresmB5UENFTkUzN2SJ_pIu7vD-hqZZjNsR3s6SXFcpDVX9yNLZvWBPgRJjNjWDlMoSb-UP/s1600/vertiacal-menu.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL1d5nQyRzdVCDBrn3HQDbORyQ4coAlQugd78ZsMI0CfhxlDiK6BQT4yv1RL6zm5zJTKemPDresmB5UENFTkUzN2SJ_pIu7vD-hqZZjNsR3s6SXFcpDVX9yNLZvWBPgRJjNjWDlMoSb-UP/s1600/vertiacal-menu.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Вкладки&lt;a class=&quot;wikipedia-link&quot; href=&quot;http://en.wikipedia.org/wiki/Tab_(GUI)&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;W&lt;/span&gt;&lt;/a&gt;&amp;nbsp;- очень удобное средство навигации и предоставления информации на сайте. Сам часто удивлялся на сколько удобно пользоваться сайтами, разделы которых предоставлены в виде вкладок. Секрет успеха этого &quot;компонента&quot; просто - &lt;cite&gt;&quot;Вкладки самоочевидны и дают ощущение физического пространства&quot;&lt;/cite&gt;, сказал Стив Круг в своей знаменитой книге &quot;&lt;a href=&quot;http://www.ozon.ru/context/detail/id/126944/&quot;&gt;... не заставляйте меня думать&lt;/a&gt;&quot;. Вопросу вкладок посвящены 87-94 страницы. Настоятельно рекомендую ознакомиться с данной книгой автора, уверен, так или иначе она будет вам полезна.&lt;br /&gt;
&lt;br /&gt;
Теперь о реализации.&amp;nbsp;Есть множество способов быстро создать вкладки, в основном они отличаются в зависимости начального подхода к написанию сайта. Вот примеры некоторых реализаций:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;asp.net&lt;/b&gt;:&amp;nbsp;&lt;a href=&quot;http://www.asp.net/ajax/ajaxcontroltoolkit/samples/tabs/tabs.aspx&quot;&gt;http://www.asp.net/ajax/ajaxcontroltoolkit/samples/tabs/tabs.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;gwt&lt;/b&gt;:&amp;nbsp;&lt;a href=&quot;http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/TabBar.html&quot;&gt;http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/TabBar.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;jQuery&lt;/b&gt;:&amp;nbsp;&lt;a href=&quot;http://docs.jquery.com/UI/Tabs&quot;&gt;http://docs.jquery.com/UI/Tabs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Но я оттолкнусь от более простого варианта - каркас на HTML+CSS, механика на JavaScript (да, здесь без клиентских скриптов не обойтись). В таком случае можно будет глубже понять и прочувствовать механику работы и реализацию подобных элементов интерфейса.&lt;br /&gt;
Для упрощения работы с js скриптами, я буду использовать известную библиотеку &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;color: dark-grey; text-indent: 1em;&quot;&gt;Каркас и раскраска&lt;/h3&gt;&lt;br /&gt;
Для начала, набросаем скелет будущей панели с вкладками.&lt;br /&gt;
Рассмотрев прототип будущей страницы, можно сказать, что основных составляющих будет две - корешок вкладки и её содержимое. В выбранном ключе реализации они могут находиться где-угодно на странице и как-угодно удалённые друг от друга. Я хочу сделать вкладки с вертикально расположенными корешками. Корешками будут картинки.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;xml&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;encoding&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;utf-8&quot;&lt;/span&gt;?&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;DOCTYPE&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;html&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;PUBLIC&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;-//W3C//DTD XHTML 1.1//EN&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;xmlns&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://www.w3.org/1999/xhtml&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;xml:lang&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;en&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&quot;CSS : Неизвестное об известном&quot;, часть 5, вертикальные вкладки&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;meta&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;http-equiv&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Content-Type&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;text/html; charset=UTF-8&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;content&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;tab-container&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;display: block;&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;general&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Задумались ли вы в своей работе, ...&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;display: none;&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;participants&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Ах, друг мой, молодость тебе нужна, ...&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;display: none;&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;feedbacks&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Пергаменты не утоляют жажды. ...&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;pre&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;tab-headers&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;ul&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;#general&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;img&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;process.png&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;sidebar-button-icon&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;alt&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Training Types&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;#participants&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;img&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;users.png&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;sidebar-button-icon&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;alt&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Training Types&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;#feedbacks&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;img&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;comments.png&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;sidebar-button-icon&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;alt&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;Training Types&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;ul&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0trHeH18LlnTC1A0XyxFnKGhHpnLqagzDqb7QPOzoeCWIszd3oK1k-DZBqLYiO85cdSBs1kFuE-HW4LgAAueP5jZ27Ct1Qv17fwHs-8Gq4J8WhvjLOEo9ZkEVXeEumb8CHXKWC-1D2qr7/s1600/mock-up.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0trHeH18LlnTC1A0XyxFnKGhHpnLqagzDqb7QPOzoeCWIszd3oK1k-DZBqLYiO85cdSBs1kFuE-HW4LgAAueP5jZ27Ct1Qv17fwHs-8Gq4J8WhvjLOEo9ZkEVXeEumb8CHXKWC-1D2qr7/s1600/mock-up.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;В теле каждой &quot;будущей&quot; вкладки, я написал отрывки из &quot;Фауста&quot;.&lt;br /&gt;
&lt;br /&gt;
Далее можно приступать к раскрашиванию макета CSS-ом.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;link&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;style.css&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;rel&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;stylesheet&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;text/css&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;- добавить в тег &lt;span style=&quot;color: maroon; font-size: small;&quot;&gt;&lt;code&gt;title&lt;/code&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Для начала, необходимо расставить по местам главные блоки &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tab-container&lt;/span&gt;&lt;/code&gt; и &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tab-headers&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-container&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;float&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;left&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;margin-right&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;-80px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;100%&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;float&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;right&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;80px&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;для &quot;резиновой&quot; разметки сайта и прибивания дива к правому краю, используются отрицательный правый отступ, величиной с ширину правого &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;div&lt;/code&gt;&lt;/span&gt;&#39;а, 80px.&lt;br /&gt;
&lt;br /&gt;
Скрыть содержимое всех вкладок, кроме первой: &lt;code&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;display: block;&quot;&lt;/span&gt;&lt;/code&gt; и &lt;code&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;display: none;&quot;&lt;/span&gt;&lt;/code&gt; соотв.&lt;br /&gt;
&lt;br /&gt;
Далее следует обратить внимание на организацию закладок, выполненых в виде списка &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;ul&lt;/code&gt;&lt;/span&gt;-&lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;li&lt;/code&gt;&lt;/span&gt; тегами, следуя семантической вёрстке.&lt;br /&gt;
&lt;br /&gt;
Посмотрим на CSS-оформление заголовков вкладок&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;list-style&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;padding&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;margin-top&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;20px&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;list-style&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;&lt;/code&gt; отключает рисование маркеров напротив элементов списка.&lt;br /&gt;
вертикальный отступ в 20 px, имеет отношение лишь к общему оформлению.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-header &amp;gt; ul &amp;gt; li &amp;gt; a&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;display&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;block&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;#tab-header &amp;gt; ul &amp;gt; li &amp;gt; a:focus&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;outline&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;Для того что бы ссылка занимала всё пространство тега &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;li&lt;/code&gt;&lt;/span&gt;. И для того, что бы при получении фокуса, некоторые сообразительные браузеры не рисовали точечную обводку ссылки.&lt;br /&gt;
&lt;br /&gt;
Определимся с цветовым оформлением. Будем использовать в основном два цвета, &lt;span style=&quot;background-color: #eeeeee; font-family: Lucida;&quot;&gt;#EEEEEE&lt;/span&gt; - для основного фона, &lt;span style=&quot;background-color: #444444; color: #eeeeee; font-family: Lucida;&quot;&gt;#444444&lt;/span&gt; - для фона вкладок.&lt;br /&gt;
А при наведении мыши на вкладку, она подсвечивается основным фоновым цветом. Текущая выбранная вкладка то же. Но для того, что бы как-то различать и управлять текущей вкладкой - выделим класс &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;selected&lt;/code&gt;&lt;/span&gt;. Тогда:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li.selected&lt;/span&gt;,&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li:hover&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#EEEEEE&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
а в селектор &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;#tab-headers&lt;/code&gt;&lt;/span&gt; добавим &lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#444444&lt;/span&gt;&lt;/code&gt;;&lt;br /&gt;
и&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#content&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#EEEEEE&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
Осталось описать стиль для пиктограмм и текста на теле вкладок&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;img.sidebar-button-icon&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;margin&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;8px&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;#tab-container pre&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-size&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1em&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-family&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;sans serif, arial&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;margin-left&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;20px&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;и можно смотреть на &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/vertical_tabs/index0.html&quot;&gt;результат&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-indent: 1em;&quot;&gt;Доработка JavaScript-ом&lt;/h3&gt;&lt;br /&gt;
Далее очень просто, при помощи jQuery&lt;a class=&quot;wikipedia-link&quot; href=&quot;http://en.wikipedia.org/wiki/JQuery&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;W&lt;/span&gt;&lt;/a&gt; библиотеки расширения JavaScript&lt;a class=&quot;wikipedia-link&quot; href=&quot;http://en.wikipedia.org/wiki/JavaScript_library&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;W&lt;/span&gt;&lt;/a&gt;, можно заставить работать вкладки.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;jquery.js&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;text/javascript&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;charset&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;или&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;text/javascript&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
и напишем простенький скрипт:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;text/javascript&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;span style=&quot;color: blue;&quot;&gt;document&lt;/span&gt;).ready(&lt;span style=&quot;color: blue;&quot;&gt;function&lt;/span&gt;(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;var&lt;/span&gt; tabContainers = $(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;#tab-container &amp;gt; div&#39;&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabContainers.hide().filter(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:first&#39;&lt;/span&gt;).show();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;#tab-headers ul li a&#39;&lt;/span&gt;).click(&lt;span style=&quot;color: blue;&quot;&gt;function&lt;/span&gt; () {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabContainers.hide();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabContainers.filter(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.hash).show();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;#tab-headers ul li&#39;&lt;/span&gt;).removeClass(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;selected&#39;&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;).parent().addClass(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;selected&#39;&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}).filter(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:first&#39;&lt;/span&gt;).click();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;С начала определяем &lt;code&gt;tabContainer&lt;/code&gt;, как &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-container &amp;gt; div&lt;/span&gt;&lt;/code&gt;, и показываем, из всего набора &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;/code&gt;-ов, первый. Далее вешаем на &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers ul li a&lt;/span&gt;&lt;/code&gt; обработчик события &lt;code&gt;onClick&lt;/code&gt;. Он будет, с начала прятать все табы, а потом показывать тот, на который ведёт вкладка (они связаны одинаковыми &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;id&lt;/span&gt;&lt;/code&gt; и якорем). Потом всё просто: убираем со всех &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers ul li&lt;/span&gt;&lt;/code&gt;, класс &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;selected&lt;/span&gt;&lt;/code&gt;, и ставим его на &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;/code&gt; текущей вкладки. Ну и в конце &quot;как бы&quot; нажимаем на первую вкладку (для того, что бы при загрузке всегда была выбрана первая вкладка).&lt;br /&gt;
&lt;br /&gt;
Смотрим на &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/vertical_tabs/index0.html&quot;&gt;результат&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
В общем-то получилось то, что хотелось. Но чего-то не хватает... Как по мне, то теней под выбранной вкладкой.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-indent: 1em;&quot;&gt;Добавление тени&lt;/h3&gt;&lt;br /&gt;
Опишем класс, который поможет это реализовать:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li.selected + li&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;inset 0 10px 8px -8px #000000&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-moz-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;inset 0 10px 8px -8px #000000&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-webkit-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;inset 0 10px 8px -8px #000000&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;здесь использован &lt;code&gt;&lt;span style=&quot;color: red;&quot;&gt;box-shadow&lt;/span&gt;&lt;/code&gt; из спецификации CSS3.&lt;br /&gt;
&lt;dl style=&quot;text-indent: 4em;&quot;&gt;&lt;dt&gt;&lt;b&gt;inset&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;указывает, что мы описываем внутреннюю тень;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;0&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;смещение по оси X;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;10px&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;смещение по оси Y;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;8px&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;плотность размытия тени;&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;-8px&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;увеличение тени (в нашем случае - уменьшение) относительно размеров самого объекта.&lt;/dd&gt;&lt;/dl&gt;И получим практически то, что хотели, но с двумя проблемами:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;при наведении на вкладку с тенью, тень остаётся (смотрится некрасиво).&lt;/li&gt;
&lt;li&gt;при выборе последней вкладки, под нею тень не появляется.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Первая проблема решается отключением тени при &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li.selected + li:hover&lt;/span&gt;&lt;/code&gt;:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li.selected + li:hover&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-moz-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-webkit-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
А для решения второй, прийдётся пойти на некоторую хитрость. Добавим в конец &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;ul&lt;/span&gt;&lt;/code&gt;, ещё один замыкающий пустой &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;/code&gt; элемент. И назначим ему класс &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tab-last&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;tab-last&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;Опишем поведение класса:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li.tab-last:hover&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;inherit&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;Внимание! описание класса &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tab-last&lt;/span&gt;&lt;/code&gt;, необходимо сделать после &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;li:hover&lt;/span&gt;&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
Вот практически всё. Осталась одна мелкая недоработка, при наведении мыши на тень последней вкладки (которой является &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tab-last&lt;/span&gt;&lt;/code&gt;), она исчезает.&lt;br /&gt;
Исправляется она изменением селектора&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;#tab-headers &amp;gt; ul &amp;gt; li.selected + li:not(tab-last):hover&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-moz-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-webkit-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;Теперь тень будет убираться под элементом списка, если он следует за текущим выбранным (класс &lt;code&gt;&lt;span style=&quot;color: maroon;&quot;&gt;selected&lt;/span&gt;&lt;/code&gt;) и при этом не является последним (псевдо-элементом).&lt;br /&gt;
&lt;br /&gt;
И &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/vertical_tabs/index.html&quot;&gt;конечный вариант&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://jqueryfordesigners.com/jquery-tabs/&quot;&gt;jQuery for Designers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery official website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/jquery/&quot;&gt;w3schools: jQuery Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/css3-background/#the-box-shadow&quot;&gt;w3.org: CSS Backgrounds and Borders Module Level 3, The ‘box-shadow’ property&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/css3-selectors/#negation&quot;&gt;w3.org: Selectors Level 3, The negation pseudo-class&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/8631126372340215551/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/09/blog-post.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/8631126372340215551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/8631126372340215551'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/09/blog-post.html' title='Вертикальные вкладки'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL1d5nQyRzdVCDBrn3HQDbORyQ4coAlQugd78ZsMI0CfhxlDiK6BQT4yv1RL6zm5zJTKemPDresmB5UENFTkUzN2SJ_pIu7vD-hqZZjNsR3s6SXFcpDVX9yNLZvWBPgRJjNjWDlMoSb-UP/s72-c/vertiacal-menu.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-7324150418160874491</id><published>2010-09-15T15:29:00.005+03:00</published><updated>2011-07-11T03:44:59.937+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="7-zip"/><category scheme="http://www.blogger.com/atom/ns#" term="7z"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="splitting"/><category scheme="http://www.blogger.com/atom/ns#" term="zip"/><category scheme="http://www.blogger.com/atom/ns#" term="нарезка"/><category scheme="http://www.blogger.com/atom/ns#" term="файлы"/><title type='text'>Нарезка файлов 7-zip&#39;ом</title><content type='html'>Часто возникает необходимость разбить файл на куски определённого размера. Например, при записи больших файлов на &quot;флешку&quot; с файловой системой FAT32, которая не поддерживает файлы, размером больше 4 Гб.&lt;br /&gt;
&lt;br /&gt;
Варианты решения:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Можно прибегнуть к помощи специализированных программ. Но тут возникает неудобство в том плане, что в случае переноса большого файла на другой компьютер, то эта специализированная программа должна быть установлена на нём.&lt;/li&gt;
&lt;li&gt;Если это видео-файл, то его можно разрезать кодеком.&lt;/li&gt;
&lt;li&gt;Разбить файл на части, при помощи архиватора.&lt;/li&gt;
&lt;/ol&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Вот последним пунктом мы и займёмся.&lt;br /&gt;
Выбор среди архиваторов пал на &lt;a href=&quot;http://www.7-zip.org/&quot;&gt;7-zip&lt;/a&gt;, как один из самых мощных кроссплаформенных архиваторов с открытым исходным кодом.&lt;br /&gt;
&lt;br /&gt;
Из всего богатства ключей, с помощью которых можно творить чудеса, там потребуется совсем немного. &lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;
&lt;blockquote&gt;
&lt;code&gt;$ 7z a -tzip -mx=0 -v4g Archive_Name.zip Video_File.avi&lt;/code&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;dl&gt;
&lt;dt&gt;a&lt;/dt&gt;
&lt;dd&gt;выполнять операцию добавления файлов в архив, грубо говоря - архивирование&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;-t&lt;/b&gt;zip&lt;/dt&gt;
&lt;dd&gt;архивировать в zip&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;-mx&lt;/b&gt;=0&lt;/dt&gt;
&lt;dd&gt;уровень сжатия 0, т.е. без сжатия&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;-v&lt;/b&gt;4g&lt;/dt&gt;
&lt;dd&gt;разбивать на части, каждый кусок, размером в 4 Гб&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;Archive_Name.zip&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;имя файла-назначения, название архива с расширением. Будьте внимательны, .zip само не добавится&lt;/dd&gt;
&lt;dt&gt;&lt;b&gt;Video_File.avi&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;имя файла(ов)-целей. Можно использовать маски * и ?&lt;/dd&gt; &lt;/dl&gt;
&lt;br /&gt;
Когда необходимо провести &quot;нарезку&quot; нескольких файлов, можно выстроить ряд из команд 7z a ..., разделяемых знаком удвоеного амперсанта &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; (работает только в -nix системах).</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/7324150418160874491/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/09/file-splitting-with-7-zip.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/7324150418160874491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/7324150418160874491'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/09/file-splitting-with-7-zip.html' title='Нарезка файлов 7-zip&#39;ом'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-7156320135587525925</id><published>2010-09-03T00:35:00.003+03:00</published><updated>2010-09-15T15:31:50.578+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="SharpSSH"/><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><category scheme="http://www.blogger.com/atom/ns#" term="ssh tunnel"/><title type='text'>SSH туннелирование, при помощи C#</title><content type='html'>Ситуация:  необходимо получить доступ к БД, которая находится на сервере. На  первый взгляд ничего сложного: узнаём порт, который слушает сервер БД, и  коннектимся. Но сервер БД слушает localhost порт, а провайдер  категорически не хочет открывать порт сервера БД на внешку, в чём я его  поддерживаю.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Существует множество способов решить данную проблему, и один из них - создание &lt;a href=&quot;http://en.wikipedia.org/wiki/Secure_Shell&quot;&gt;SSH&lt;/a&gt;-&lt;a href=&quot;http://en.wikipedia.org/wiki/Tunneling_protocol&quot;&gt;туннеля&lt;/a&gt; между сервером и клиентом.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi85oIYbZK76WFzHKEsDV0KkckRto0yVn3jojjVobjMVpjkd7wuwXPJ8p4B-jH0QFaeic5r7-a7cVc6uPwy_VszxfR5z_jaMW5dcwapwhgPmrj0Inse0NNsqw6jsYjy20H6vEpjwwmrwPPA/s1600/regular_debugging_ed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi85oIYbZK76WFzHKEsDV0KkckRto0yVn3jojjVobjMVpjkd7wuwXPJ8p4B-jH0QFaeic5r7-a7cVc6uPwy_VszxfR5z_jaMW5dcwapwhgPmrj0Inse0NNsqw6jsYjy20H6vEpjwwmrwPPA/s320/regular_debugging_ed.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGbF5TaXgXfmkfudCyJuE8H_5WTkMZrVjtVYM5bH_tqWRcpFPRc_bz41aML_whSmAr9Ukb03-JcyWIgbBa9KIML7z10gA0aMucveaCniVNiJE-CE13pGSCW6fxIAHl4SOIE34YvdSQOLV/s1600/debugging_through_tunnel_ed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGbF5TaXgXfmkfudCyJuE8H_5WTkMZrVjtVYM5bH_tqWRcpFPRc_bz41aML_whSmAr9Ukb03-JcyWIgbBa9KIML7z10gA0aMucveaCniVNiJE-CE13pGSCW6fxIAHl4SOIE34YvdSQOLV/s320/debugging_through_tunnel_ed.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;картинки взяты с какой-то статьи о remote-debugging&#39;е ZendFramework и немного подправлены&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Под *nix системами решение простое:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;$ ssh -f -N -L 5432:localhost:5432 username@host&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;dl&gt;&lt;dt style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-f&lt;/dt&gt;
&lt;dd&gt;оставить соединение в фоне&lt;/dd&gt;
&lt;dt style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-N&lt;/dt&gt;
&lt;dd&gt;не выполнять никаких команд&lt;/dd&gt;
&lt;dt style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-L&lt;/dt&gt;
&lt;dd&gt;выполнить &quot;проброс&quot; портов в формате port:host:hostport&lt;/dd&gt; &lt;/dl&gt;&lt;br /&gt;
&lt;br /&gt;
Для  удалённого SSH-соединения во все времена выручал пресловутый &lt;a href=&quot;http://en.wikipedia.org/wiki/PuTTY&quot;&gt;PuTTY&lt;/a&gt;. Он  же и умеет делать SSH-туннели.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizxyIqDGZuR8AHAii75_KJDuwmM_zzsNTjccOp0kE1S0Tf8VOYn79L2Al9N6hf7b4ec19Xgq5fi73S7Rbvn16YdmmrGJalxOUqW291ShT5ow7VW-mfDu5NGAwzyCapbsqK78Ps3lcOA5Uh/s1600/putty_tun_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizxyIqDGZuR8AHAii75_KJDuwmM_zzsNTjccOp0kE1S0Tf8VOYn79L2Al9N6hf7b4ec19Xgq5fi73S7Rbvn16YdmmrGJalxOUqW291ShT5ow7VW-mfDu5NGAwzyCapbsqK78Ps3lcOA5Uh/s320/putty_tun_1.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYdytFqEzsYtZrZK-gz4JwecuLpT6oWEFJsU136Hsi6z6jal_ik0Qlg5kMxLWPJJyHksfqX3gkKL3HgT3jx4D6yX6WdYfs7RG6A27wRtA5JjXQnRsKL-LYVrse2vSMrofwixfKOzDP21B_/s1600/putty_tun_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYdytFqEzsYtZrZK-gz4JwecuLpT6oWEFJsU136Hsi6z6jal_ik0Qlg5kMxLWPJJyHksfqX3gkKL3HgT3jx4D6yX6WdYfs7RG6A27wRtA5JjXQnRsKL-LYVrse2vSMrofwixfKOzDP21B_/s320/putty_tun_2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Но поставлять стороннее приложение, хоть  оно и opensource, с продуктом, только для создания SSH-туннеля и  проброски портов - “не спортивно”. Нужно научить наше приложение самому  поднимать SSH соединение.&lt;br /&gt;
&lt;br /&gt;
Известно, что в составе библиотек .NET Framework нет инструментов для работы с SSH-протоколом.&lt;br /&gt;
После непродолжительного &quot;гугления&quot; можно обнаружить две разработки, которые не требуют от вас много денежных знаков: &lt;a href=&quot;http://granados.sourceforge.net/&quot;&gt;Granados&lt;/a&gt; и &lt;a href=&quot;http://www.tamirgal.com/blog/page/SharpSSH.aspx&quot;&gt;SharpSSH&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Что касается первого, то меня огорчило три вещи:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;совсем невменяемая документация;&lt;/li&gt;
&lt;li&gt;запутанная структура проекта;&lt;/li&gt;
&lt;li&gt;возраст (последние изменения датированы апрелем 2004 года);&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Второй же, в отмену, имеет и хорошую документацию (+ блог автора, Тамир Гал) и внятную структуру проекта. Хоть новизной так же не блещет. Помимо этого у проекта есть форк &lt;a href=&quot;http://sharpssh2.codeplex.com/&quot;&gt;SharpSSH2&lt;/a&gt;. Отличия от &quot;папки&quot;:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;переведён на .NET Framework 3.5;&lt;/li&gt;
&lt;li&gt;дополнительные настройки компрессии;&lt;/li&gt;
&lt;li&gt;дополнительные опции шифрования AES;&lt;/li&gt;
&lt;li&gt;пачка мелких &quot;энхансов&quot;.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;Сам по-себе SharpSSH, по заявлению автора, является ни чем иным, как переписанным &lt;a href=&quot;http://www.jcraft.com/jsch/&quot;&gt;JSch&lt;/a&gt; проектом с Java на C#.&lt;br /&gt;
&lt;br /&gt;
Для начала работы, нам необходимо подключить библиотеку SharpSSH и её namespace. &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: Courier New; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; SharpSsh;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
Также необходимо будет реализовать простенький интерфейс:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: Courier New; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;interface&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;UserInfo&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Returns the user passphrase (passwd for the private key file)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; getPassphrase();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Returns the user password&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; getPassword();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Prompt the user for a password&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptPassword(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Prompt the user for a passphrase (passwd for the private key file)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptPassphrase(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Prompt the user for a Yes/No input&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptYesNo(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt; Show messages&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; showMessage(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message);&lt;br /&gt;
}&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
Примерно вот так: &lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: Courier New; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;MyUserInfo&lt;/span&gt; : &lt;span style=&quot;color: #2b91af;&quot;&gt;UserInfo&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; passphrase;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;MyUserInfo&lt;/span&gt; (&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; Passphrase)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;passphrase = Passphrase;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; getPassword()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptYesNo(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; str)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; getPassphrase()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; passphrase;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;pub&lt;span style=&quot;color: blue;&quot;&gt;&lt;/span&gt;lic&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptPassphrase(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; promptPassword(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; showMessage(&lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; message)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;// MessageBox.Show(message);&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;// Console.WriteLine(message);&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
ненужные методы я грубо закрыл &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;return true;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Далее в коде создадим &lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: Courier New; font-size: small;&quot;&gt;&lt;span style=&quot;color: #2b91af;&quot;&gt;Session&lt;/span&gt; session;&lt;br /&gt;
&lt;span style=&quot;color: #2b91af;&quot;&gt;Channel&lt;/span&gt; channel;&lt;br /&gt;
&lt;span style=&quot;color: #2b91af;&quot;&gt;JSch&lt;/span&gt; jsch;&lt;br /&gt;
jsch = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;JSch&lt;/span&gt;();&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; PrivateKeyFile = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;id_dsa&quot;&lt;/span&gt;;&lt;br /&gt;
jsch.addIdentity(PrivateKeyFile);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; host = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;host.com&quot;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; user = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;user&quot;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt; passphrase = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Passphrase&quot;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Create a new SSH session&lt;/span&gt;&lt;br /&gt;
session = jsch.getSession(user, host, 22);&lt;br /&gt;
session.setPortForwardingL(5432, &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;localhost&quot;&lt;/span&gt;, 5432);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Username and password will be given via UserInfo interface.&lt;/span&gt;&lt;br /&gt;
UserInfo ui = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; MyUserInfo(passphrase);&lt;br /&gt;
session.setUserInfo(ui);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Connect to remote SSH server&lt;/span&gt;&lt;br /&gt;
session.connect();&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Open a new Shell channel on the SSH session&lt;/span&gt;&lt;br /&gt;
channel = session.openChannel(&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;shell&quot;&lt;/span&gt;);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Connect the channel&lt;/span&gt;&lt;br /&gt;
channel.connect();&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;//Wait till channel is closed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; (!channel.isClosed())&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;System.Threading.Thread.Sleep(500);&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
Ну а дальше &quot;причёсываем&quot; код, добавляем &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;try-catch&lt;/span&gt;, где надо и т.п.&lt;br /&gt;
&lt;br /&gt;
Получаем малой кровью, очень даже неплохой SSH-туннель, средствами C#.</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/7156320135587525925/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/09/ssh-tunnelling-via-c.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/7156320135587525925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/7156320135587525925'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/09/ssh-tunnelling-via-c.html' title='SSH туннелирование, при помощи C#'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi85oIYbZK76WFzHKEsDV0KkckRto0yVn3jojjVobjMVpjkd7wuwXPJ8p4B-jH0QFaeic5r7-a7cVc6uPwy_VszxfR5z_jaMW5dcwapwhgPmrj0Inse0NNsqw6jsYjy20H6vEpjwwmrwPPA/s72-c/regular_debugging_ed.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-2373391401749745501</id><published>2010-08-08T23:41:00.006+03:00</published><updated>2010-08-27T01:50:55.219+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="extract audio"/><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mplayer"/><title type='text'>Извлечение звуковой дорожки</title><content type='html'>Все мы много раз сталкиваемся с потребностью извлечь звуковую дорожку из любимого фильма, клипа ...&lt;br /&gt;
В мире windows, это было просто сделать при помощи &lt;a href=&quot;http://www.virtualdub.org/&quot;&gt;VirtualDub&lt;/a&gt;, которая обычно идёт в месте с популярным паком кодеков &lt;a href=&quot;http://www.codecguide.com/about_kl.htm&quot;&gt;K-Lite Codec Pack&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Как же поступить, если вы в -nix стране?&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;ffmpeg&lt;/b&gt; - шустрый аудио/видео конвертер, обычно предустановлен во всех дистрибутивах. Ну либо доустановить его не является проблемой.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;$ ffmpeg -i input_file.avi audio_dump.mp3&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;с заданным (128 kbps) битрейтом:&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;$ ffmpeg -i input_file.avi -ab 128 audio_dump.mp3&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;mplayer&lt;/b&gt; - известный проигрыватель. Известен тем, что не требовательный к ресурсам и всеядный. Кроме того он тоже способен помочь нам справиться с задачей.&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;$ mplayer -dumpaudio input_file.avi -dumpfile audio_dump.mp3&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/2373391401749745501/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/08/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/2373391401749745501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/2373391401749745501'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/08/blog-post.html' title='Извлечение звуковой дорожки'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-4900613804491836201</id><published>2010-08-04T21:40:00.011+03:00</published><updated>2010-08-14T12:30:16.125+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="breadcrumbs"/><category scheme="http://www.blogger.com/atom/ns#" term="gconf-editor"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="nautilus"/><title type='text'>Breadcrumbs в Nautilus. Если не работают</title><content type='html'>Увидел как-то красоту breadcrumbs. Ну &quot;красота&quot; эта на любителя, но мне понравилось.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://gnome-look.org/content/show.php?content=119715&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu1iw9hP1OOLbBZgWUOTzNndvf1AEYE-l94O6-x4_t7-IMV6o-O2tJHoJtuFT2AyZc4oJb8SWxGnJJgrIOc_hpKJ2t59RgSUD9Ng7tySUb0z3yWqq0fpoec5EeaZ7PkWXem0k5PHkZWajz/s640/119715-1.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;Наверное уже ни для кого не секрет, что подобное достигается установкой nautilus-elementary (&lt;a href=&quot;http://gnome-look.org/content/show.php/Elementary-mod?content=119715&quot;&gt;nautilus-mod&lt;/a&gt;) и GTK-шной темы &lt;a href=&quot;http://gnome-look.org/content/show.php?content=119715&quot;&gt;elementary&lt;/a&gt;.&lt;/blockquote&gt;&lt;blockquote&gt;Для &lt;i&gt;арчеводов&lt;/i&gt; всё решается установкой пакетов &lt;a href=&quot;http://aur.archlinux.org/packages.php?O=0&amp;amp;K=nautilus-elementary%20&quot;&gt;nautilus-elementary &lt;/a&gt;и &lt;a href=&quot;http://aur.archlinux.org/packages.php?ID=34997&quot;&gt;elementary-mod-gtk-theme&lt;/a&gt; из &lt;a href=&quot;http://aur.archlinux.org/&quot;&gt;AUR&lt;/a&gt;a. &lt;/blockquote&gt;&lt;blockquote&gt;Для &lt;i&gt;арчефобов&lt;/i&gt; практически так же &lt;a href=&quot;http://www.omgubuntu.co.uk/2010/02/give-nautilus-elementary-breadcrumbs.html&quot;&gt;give-nautilus-elementary-breadcrumbs&lt;/a&gt; или &lt;a href=&quot;http://www.webupd8.org/2010/04/nautilus-elementary-breadcrumbs-for-any.html&quot;&gt;Nautilus Elementary Breadcrumbs For Any Theme&lt;/a&gt;.&lt;/blockquote&gt;&lt;br /&gt;
Но столкнулся со странной проблемой: заветных &quot;&lt;a href=&quot;http://hobbitaniya.ru/grimm/grimm15.php&quot;&gt;хлебных крошек&lt;/a&gt;&quot; так и не было в соотв. месте nautilus&#39;а.&lt;br /&gt;
Предваряя глупые вопросы скажу, что заветную кнопку &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicGS9eEfHaSoW1aNQgT6m6QshopzCJzHTg8It7isngqbx6xrv7TRyhyphenhyphenOSLRC7NMKykjyxsZ0GIJC6msar8gdJ0DptyOHIbKuv1bSwZQwBYGoDhLpOC2EYaQb_3s2LuHdbcCaAE1drDTSDn/s320/edit-location-button.png&quot; style=&quot;border: medium none; margin: 0px; vertical-align: bottom;&quot; /&gt; &#39;Edit Location&#39; я жмакал, без толку естественно.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigv_DxIhHhnSTVFApcOD5ySf_LGoLuEkfR30TpLc5ZNcORwsc0tLtOLNY3QmodEdT1IYdN-0qrLYpBdI6Bhi1IdpJB_hWLc0SeEPVK5eKBhyUpXIpZAONm03G-dZPTH62YYhiK8yOAcYNb/s1600/nautilus_without_breadcrumbs.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;448&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigv_DxIhHhnSTVFApcOD5ySf_LGoLuEkfR30TpLc5ZNcORwsc0tLtOLNY3QmodEdT1IYdN-0qrLYpBdI6Bhi1IdpJB_hWLc0SeEPVK5eKBhyUpXIpZAONm03G-dZPTH62YYhiK8yOAcYNb/s640/nautilus_without_breadcrumbs.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Я поначалу долго страдал, потом свыкся. :(&lt;br /&gt;
&lt;br /&gt;
Недавно наткнулся на &lt;a href=&quot;http://ubuntuforums.org/showthread.php?p=9198158&quot;&gt;решение своей проблемы&lt;/a&gt;. Может кому поможет:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;запускаем &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;gconf-editor&lt;/b&gt;&lt;/span&gt; (доустанавливаем недостающие пакеты, если необходимо);&lt;/li&gt;
&lt;li&gt;двигаемся по дереву &lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;b&gt;apps &amp;gt; nautilus &amp;gt; preferences &amp;gt; always_use_location_entry&lt;/b&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;убираем галочку;&lt;/li&gt;
&lt;li&gt; радуемся;&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqFa_-MrJpFeYhvu3nimgQLsFqQtenzcfx_TuQDdQ1zeuyMy9k_4x_3EKIknHkLYMPHnM280-FBj1MGOwYmwpKE9FOf_onyHATEXiuzByrg5n3F3Z04nkw2FROxrq45X9wr7oakiH2-5AL/s1600/gconf-editor.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;520&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqFa_-MrJpFeYhvu3nimgQLsFqQtenzcfx_TuQDdQ1zeuyMy9k_4x_3EKIknHkLYMPHnM280-FBj1MGOwYmwpKE9FOf_onyHATEXiuzByrg5n3F3Z04nkw2FROxrq45X9wr7oakiH2-5AL/s640/gconf-editor.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH2DqchrysuFUuQ79sQ_Kb3Kdi2edAIJJAlN7AyuZCOf2PxQ7ZlmYIQgXHp4xHohGbce4tPBNA4iZwt6iHlGVbRieRMXxQYlREUUWEfgcUtGyFo3MKlYH8qEp0s4wr_9bpxAes4PkpMrw-/s1600/nautilus-with-breadcrumbs.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;448&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH2DqchrysuFUuQ79sQ_Kb3Kdi2edAIJJAlN7AyuZCOf2PxQ7ZlmYIQgXHp4xHohGbce4tPBNA4iZwt6iHlGVbRieRMXxQYlREUUWEfgcUtGyFo3MKlYH8qEp0s4wr_9bpxAes4PkpMrw-/s640/nautilus-with-breadcrumbs.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/4900613804491836201/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/08/breadcrumbs-nautilus.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/4900613804491836201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/4900613804491836201'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/08/breadcrumbs-nautilus.html' title='Breadcrumbs в Nautilus. Если не работают'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu1iw9hP1OOLbBZgWUOTzNndvf1AEYE-l94O6-x4_t7-IMV6o-O2tJHoJtuFT2AyZc4oJb8SWxGnJJgrIOc_hpKJ2t59RgSUD9Ng7tySUb0z3yWqq0fpoec5EeaZ7PkWXem0k5PHkZWajz/s72-c/119715-1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-5168410289739659967</id><published>2010-06-20T01:03:00.000+03:00</published><updated>2010-11-20T01:08:24.520+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="box-shadow"/><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="css3"/><category scheme="http://www.blogger.com/atom/ns#" term="opacity"/><category scheme="http://www.blogger.com/atom/ns#" term="popup hints"/><title type='text'>Всплывающие подсказки на CSS</title><content type='html'>&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;В третьей по счёту статье, я бы хотел описать использование CSS для создания всплывающих подсказок (в простонародье - «хинт» или «тултип», hint и tooltip соотв.). На самом деле всё просто, и подход основывается на &lt;a href=&quot;http://jinnmv.blogspot.com/2010/04/dynamic-visibility.html&quot;&gt;предыдущей статье&lt;/a&gt; о динамическом отображении элементов на странице.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h3 style=&quot;color: dark-grey; text-indent: 1em;&quot;&gt;Каркас и раскраска&lt;/h3&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Для примера возьмём &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/popup_hints/index0.html&quot;&gt;шаблон гриды&lt;/a&gt; из &lt;a href=&quot;http://jinnmv.blogspot.com/2010/04/mouse-hovering.html&quot;&gt;первой статьи&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Общая идеология создания тултипов — держать неподалёку от «субъекта» скрытый  &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;div&lt;/code&gt;&lt;/span&gt; с, собственно, подсказкой и показывать её при наведении курсора на элемент/строку в таблице.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Например, имея вот такую строку:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Расстрелять нельзя помиловать&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;135&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0;&quot;&gt;сделать вот так:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Расстрелять нельзя помиловать&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;hint&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Давайте знакомиться, я ваша первая всплывающая подсказка&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;135&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0;&quot;&gt;грубо конечно, неплохо было бы текст в ячейке («Расстрелять нельзя помиловать») тоже взять в какой-нибудь &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;div&lt;/code&gt;&lt;/span&gt;, &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;p&lt;/code&gt;&lt;/span&gt; или ещё что-то, но ведь ничего страшного не произойдёт, если этого не сделать ;)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.hint&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-size&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8em&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#FFD672&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid #8A5802&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;hidden&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;position&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;relative&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;left&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;10px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;100px&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover .hint&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;visible&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;z-index&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;100&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Надеюсь здесь ничего объяснять не надо. Единственное, что для вас может быть новым, так это &lt;span style=&quot;color: red;&quot;&gt;&lt;code&gt;z-index&lt;/code&gt;&lt;/span&gt;. Это свойство отвечает за то, в каком слое (по счёту) отображается элемент. Больше число — ближе к глазу пользователя, если можно так сказать. 0-ой уровень — уровень всех элементов по-умолчанию.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;читаем:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/Css/pr_pos_z-index.asp&quot;&gt;&lt;b&gt;w3schools&lt;/b&gt;: CSS z-index Property&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/CSS2/zindex.html&quot;&gt;&lt;b&gt;w3.org&lt;/b&gt;: Elaborate description of Stacking Contexts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/CSS21/visuren.html#propdef-z-index&quot;&gt;&lt;b&gt;w3.org&lt;/b&gt;: Specifying the stack level: the &#39;z-index&#39; property&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Забегу наперёд и скажу, что в таком случае вы столкнётесь с проблемой, если ещё не успели догадаться о чём я. При появлении подсказки, строка таблицы будет раздвигаться на высоту самой подсказки. Можно конечно воспользоваться &lt;span style=&quot;color: red;&quot;&gt;&lt;code&gt;max-height&lt;/code&gt;&lt;/span&gt; для строки, но как показывает практика, это не панацея. Поэтому поступим следующим образом — заключим содержимое ячейки в отдельный &lt;span style=&quot;color: red;&quot;&gt;&lt;code&gt;div&lt;/code&gt;&lt;/span&gt; с фиксированной высотой:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;limiter&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Расстрелять нельзя помиловать&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;hint&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Давайте знакомиться, я ваша первая всплывающая подсказка&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;135&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.limiter&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;height&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;19px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;vertical-align&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;text-top&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Должно выглядеть &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/popup_hints/index1.html&quot;&gt;вот так&lt;/a&gt;. Eсли рассмотреть под микроскопом, то увидим следующее:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0em;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiycNup8Xx-NTITTfvq4_fLUZZCXA7oXH45W2Yvr0iveQWAEUHYh78SSd7Q-c7Y-tiiGFUXOQSknJZPsMCWBwdK2Dwad2aGTDILgajo8-xnG36fG-kDDErWNKgVEcVIsbZ2Tz7dVQ6KEsHx/s1600/mockup.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiycNup8Xx-NTITTfvq4_fLUZZCXA7oXH45W2Yvr0iveQWAEUHYh78SSd7Q-c7Y-tiiGFUXOQSknJZPsMCWBwdK2Dwad2aGTDILgajo8-xnG36fG-kDDErWNKgVEcVIsbZ2Tz7dVQ6KEsHx/s1600/mockup.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Что же, с этой несложной задачей справились. Теперь хотелось бы навести красоту, а именно — добавить прозрачность и тень нашим подсказкам.&lt;/div&gt;&lt;br /&gt;
&lt;h3 style=&quot;color: dark-grey; text-indent: 1em;&quot;&gt;Прозрачность и тени&lt;/h3&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Вот здесь есть небольшая проблемка, маленькая, очень. Дело в том, что утверждённый w3c стандарт CSS2.1 не предусматривает свойств, отвечающих за прозрачность (можно конечно баловаться полу-прозрачным png-пикселем, но это... уж извините, называется страдать #censored#), а CSS3 ещё не готов (на момент написания статьи). Вот на этом месте хотелось бы остановиться немного подробнее.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Пока CSS3 в статусе драфта (черновика), нету единой спецификации, как такой эффект (прозрачность) должен описываться и реализовываться, поэтому создатели браузеров «рисуют» прозрачность, кто как считает правильным. Поэтому будем пытаться описать нашу прозрачность всеми возможными способами для всех браузеров, что бы «работало везде».&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;добавим в &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;.grid tr:hover .hint&lt;/code&gt;&lt;/span&gt; строчки:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* CSS3 */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;-moz-opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Mozilla Firefox */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;filter&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;alpha(opacity=80)&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* IE6/7 */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;-ms-filter&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;&quot;alpha(opacity=80)&quot;&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;/* IE8 */&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Теперь можем наслаждаться красивыми полупрозрачными всплывающими подсказками над строчками таблицы.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Остались тени (добавить к классу &lt;span style=&quot;color: maroon;&quot;&gt;&lt;code&gt;.hint&lt;/code&gt;&lt;/span&gt;):&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px 1px 2px #000000&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;-moz-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px 1px 2px #000000&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;-webkit-box-shadow&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px 1px 2px #000000&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Цель статьи &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/popup_hints/index.html&quot;&gt;достигнута&lt;/a&gt;.&amp;nbsp;Как видите — обошлись без единой строчки скриптов.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/css3-color/#opacity&quot;&gt;&lt;b&gt;w3.org&lt;/b&gt;: Transparency: the ‘opacity’ property&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/css3-background/#box-shadow&quot;&gt;&lt;b&gt;w3.org&lt;/b&gt;: The ‘box-shadow’ property&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Скажу ещё немного о CSS3 — это новая версия стандарта каскадных таблиц стилей, которую ждут дизайнеры, верстальщики и все, кто хоть как-то интересуется развитием IT-идустрии, интернета и сайто-строения. Обещают очень много новых фич, которые позволят отказаться от многих тривиальных JS. Например тени, колонки текста, перенос длинных слов, подгружаемые шрифты и много-много-много ещё. Все уважающие себя браузеры борятся за лейбочку «CSS3-compatible», хоть он ещё и драфт, ну и правильно. Многие web-разработчики уже вовсю применяют «вкусности» нового стандарта. Более подробно можно почитать:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/css3-roadmap/&quot;&gt;http://www.w3.org/TR/css3-roadmap/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.css3.com/&quot;&gt;http://www.css3.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.css3.info/&quot;&gt;http://www.css3.info/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ну или банальное &lt;a href=&quot;http://www.google.com.ua/search?hl=ru&amp;amp;source=hp&amp;amp;q=CSS3&amp;amp;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&amp;amp;meta=&amp;amp;aq=f&amp;amp;oq=&quot;&gt;гугление&lt;/a&gt; вам в помощь ;)&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Но и это не всё («Никогда не останавливайся на достигнутом» - ну и не будем ;)). Хочется показать замечательный эффект плавного изменения прозрачности (fade-effect).  &lt;/div&gt;&lt;br /&gt;
&lt;h3 style=&quot;color: dark-grey; text-indent: 1em;&quot;&gt;Анимация&lt;/h3&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Используем CSS-свойство &lt;span style=&quot;color: red;&quot;&gt;&lt;code&gt;-webkit-transition&lt;/code&gt;&lt;/span&gt; для webkit-browsers-only (Safari, Chrome). Да, вы правильно поняли, увидеть как это работает вы сможете только в браузерах на webkit движке (&lt;a href=&quot;http://webkit.org/&quot;&gt;http://webkit.org/&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/WebKit&quot;&gt;http://en.wikipedia.org/wiki/WebKit&lt;/a&gt;).&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.hint&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-size&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8em&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#FFD672&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid #8A5802&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;hidden&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;position&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;relative&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;left&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;10px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;100px&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.0&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* CSS3 */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;filter&lt;/span&gt;:&lt;span style=&quot;color: blue;&quot;&gt;alpha(opacity=0)&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; /* IE */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-moz-opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.0&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Mozilla Firefox */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-webkit-transition&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;-opacity 0.0s ease-out&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover .hint&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;visible&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* CSS3 */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-moz-opacity&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.8&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Mozilla Firefox */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;filter&lt;/span&gt;:&lt;span style=&quot;color: blue;&quot;&gt;alpha(opacity=80)&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* IE6/7 */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-ms-filter&lt;/span&gt;:&lt;span style=&quot;color: blue;&quot;&gt;&quot;alpha(opacity=80)&quot;&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;/* IE8 */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;-webkit-transition-duration&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;0.35s&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;z-index&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;100&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Главная идея — установить для невидимой подсказки прозрачность&lt;code&gt;=0&lt;/code&gt; по-умолчанию, а при появлении плавно изменять её до нужных нам &lt;code&gt;0.8&lt;/code&gt; при помощи &lt;span style=&quot;color: red;&quot;&gt;&lt;code&gt;-webkit-transition-duration&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/span&gt;, в нашем случае задержка &lt;code&gt;0,35&amp;nbsp;&lt;/code&gt;сек.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/popup_hints/index-x.html&quot;&gt;Profit&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
Как добиться подобного эффекта в других браузерах (если это возможно), разбирайтесь/ищите сами, моя задача была повернуть вашу голову в нужное направление, а дальше «Сам любий, сам» :).&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/5168410289739659967/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/11/popup-hints.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/5168410289739659967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/5168410289739659967'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/11/popup-hints.html' title='Всплывающие подсказки на CSS'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiycNup8Xx-NTITTfvq4_fLUZZCXA7oXH45W2Yvr0iveQWAEUHYh78SSd7Q-c7Y-tiiGFUXOQSknJZPsMCWBwdK2Dwad2aGTDILgajo8-xnG36fG-kDDErWNKgVEcVIsbZ2Tz7dVQ6KEsHx/s72-c/mockup.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-2906908468911661824</id><published>2010-04-22T00:24:00.013+03:00</published><updated>2010-11-19T21:38:40.125+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="dynamic visibility"/><category scheme="http://www.blogger.com/atom/ns#" term="selectors"/><title type='text'>Динамическое отображение с CSS</title><content type='html'>&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Вот и пришло время второй статьи, посвящённой использованию CSS. К этому времени у меня нашлась цитата об актуальном использовании JS: «&lt;i&gt;Если же вы пишете web-приложение, то постарайтесь вообще не выполнять ресурсоёмких операций на клиенте, по крайней мере продолжительное время, поскольку в Javascript до сих пор нет единого стандарта для создания многопоточности, и весь код исполняется в однопоточном режиме, что также может вызывать существенную задержку в обработке событий&lt;/i&gt; ». Не, подумайте, я не противник JS, как такового, я сам его использую и даже чаще, чем хотелось бы. Я за актуальное его использование и экономию вычислительных ресурсов клиентских машин.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Продолжу тему статьи, динамическое отображение. Все вы часто видели эффекты появления/исчезновения элементов web-страниц по какому-то событию. Обычно это было движение мышью. С большинстве случаев это реализуется при помощи JS, и реализуется достаточно просто — парой событий &lt;span style=&quot;font-family: &#39;DejaVu Sans Mono&#39;, sans-serif; font-size: small;&quot;&gt;onmousover&lt;/span&gt; и &lt;span style=&quot;font-family: &#39;DejaVu Sans Mono&#39;, sans-serif; font-size: small;&quot;&gt;onmouseout&lt;/span&gt;. Ну это и дети в песочнице знают, а вот то, что этот функционал можно заменить грамотным использованием знают не все. Да не все, судя по количеству избыточных скриптов на страницах.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Для примера возьмём нашу «тривиальную» таблицу из &lt;a href=&quot;http://jinnmv.blogspot.com/2010/04/mouse-hovering.html&quot;&gt;предыдущего примера&lt;/a&gt;. Поменяем её немного таким образом, что бы получилась форма для заказа товаров:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;grid&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;#&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Goods&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Price&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;width: 40px;&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Order&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Клей для носа&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;44.12&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;input&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;submit&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;+&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;2&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Кофрик подмышковый&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;13.11&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;input&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;submit&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;+&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;3&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Северный джигит&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;13.56&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;input&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;submit&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;+&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;4&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Туфля без задника&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;42.31&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;input&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;submit&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;+&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;5&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Бинокль &quot;Соседка&quot;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;58.00&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;input&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;submit&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;+&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&amp;nbsp;ну и стили: &lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-family&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;sans-serif&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid, td, th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border-collapse&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;collapse&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid #A4BED4&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#A4BED4&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#F0F8FF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#E3EFFF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/dynamic_visibility/index0.html&quot;&gt;Перед вами&lt;/a&gt; самая привычная грида с заказом товаров. Кнопка «&lt;span style=&quot;font-weight: normal;&quot;&gt;+&lt;/span&gt;» добавляет товар в корзину покупок (функционал допишите сами по необходимости). Что мне не нравится в такой странице — изобилие этих ненужных кнопок. Ведь для заказа товара, нам совершенно нет необходимости держать их перед глазами. А скорее наоборот, показывать их только при необходимости.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Давайте сделаем это:&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;для начала спрячем кнопку по-умолчанию&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &lt;span style=&quot;color: maroon;&quot;&gt;.grid tr input&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;hidden&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;заметьте — в таком примере, будут спрятаны все input-контролы в строке (&lt;span style=&quot;font-family: &#39;DejaVu Sans Mono&#39;, sans-serif; font-size: small;&quot;&gt;tr&lt;/span&gt;), если вас это не устраивает, вы должны подписать input&#39;ту свой класс и тогда поменять строчку на &lt;span style=&quot;font-family: &#39;DejaVu Sans Mono&#39;, sans-serif; font-size: small;&quot;&gt;.grid tr &lt;/span&gt;&lt;span style=&quot;font-family: &#39;DejaVu Sans Mono&#39;, sans-serif; font-size: small;&quot;&gt;&lt;i&gt;.your-class&lt;/i&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;теперь покажем по наведению курсора на строку таблицы:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover input&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;visible&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/dynamic_visibility/index1.html&quot;&gt;Проверяем&lt;/a&gt;. Радуемся.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&quot;Enjoy&quot;, как я люблю писать на доске в списке практических заданий.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Теперь другой пример, когда нам нужно заказать какое-то определённое количество товара (шт.)&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;grid&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;#&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Lunch&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Count&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Price&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Вареники с каротшкой&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;18.75&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;2&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Борщ со сметаной&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;4&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;7.19&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;3&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Солянка мясная&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;9.35&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;4&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Курица гриль&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;2&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;27.45&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;5&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Перец острый&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;0&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;0.58&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-family&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;sans-serif&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid, td, th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border-collapse&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;collapse&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid  #A4BED4&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#A4BED4&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#F0F8FF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#E3EFFF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Замечательно. Надеюсь у вас получилось то же, что и у &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/dynamic_visibility/index2.html&quot;&gt;меня&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Скажу честно, это пример с моей практики, но я сделал ещё &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/dynamic_visibility/LOS.png&quot;&gt;в разы сложнее&lt;/a&gt; ;).&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Вернёмся к нашему примеру, добавим в третье поле три &lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;div&lt;/span&gt;&lt;/span&gt;-а:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;button&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;#&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;-&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;field&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;4&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;button&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;#&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;+&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;задумка сделать вот такой Up-Down «контрол»  &lt;/div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ffe97f; border-color: rgb(0, 0, 0) -moz-use-text-color rgb(0, 0, 0) rgb(0, 0, 0); border-style: solid none solid solid; border-width: 1px medium 1px 1px; float: left; height: 25px; margin-left: 2em; text-align: center; width: 25px;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;-&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border: 1px solid rgb(0, 0, 0); float: left; font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif; height: 25px; text-align: center; width: 50px;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;4&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: #ffe97f; border-color: rgb(0, 0, 0) rgb(0, 0, 0) rgb(0, 0, 0) -moz-use-text-color; border-style: solid solid solid none; border-width: 1px 1px 1px medium; float: left; height: 25px; text-align: center; width: 25px;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Реакцию на нажатие ссылок уж потрудитесь описать сами, если вам это нужно. Думаю вот тут без JS или AJAX или... (нужное впишите) не обойтись.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Подпишем кнопки классом button, а поле с цифрой field и придадим желаемый внешний вид:&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid .button, div.field&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;float&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;left&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid #A4BED4&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;height&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;22px&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;тут в общем-то всё ясно, кроме свойства &lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;float&lt;/span&gt;&lt;/span&gt;. Ему будет посвящена одна из следующих статей (&lt;span style=&quot;background-attachment: scroll; background-color: yellow; background-image: none; background-position: 0% 0%;&quot;&gt;ссылка&lt;/span&gt;) о макетизации страницы при помощи &lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;div&lt;/span&gt;&lt;/span&gt;-ов. Для текущей статьи будет достаточно сказать, что&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: small;&quot;&gt; float: left&lt;/span&gt; заставит элементы прижиматься друг к другу слева.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Ну а для особо любознательных:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/CSS21/visuren.html#floats&quot;&gt;w3.org: Visual formatting model. Floats&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/REC-CSS1/#floating-elements&quot;&gt;w3.org: Cascading Style Sheets. Floating Elements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/CSS/css_float.asp&quot;&gt;w3schools: CSS float&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/css/pr_class_float.asp&quot;&gt;w3schools: CSS float property&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid  .button&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;22px&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;test-align&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;center&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#E6E6FA&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;:  &lt;span style=&quot;color: blue;&quot;&gt;hidden&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;По-умолчанию кнопка скрыта &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;visibility:&lt;span style=&quot;font-size: small;&quot;&gt; hidden&lt;/span&gt;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid  .button a&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;text-decoration&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;none&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;display&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;block&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Два очень важных свойства стиля ссылки &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: small;&quot;&gt;&amp;lt;a&lt;/span&gt;... Первое уберёт надоедливое нижнее подчёркивание со ссылки при наведении курсора мыши. Второе заставит элемент отображаться блоком — занимать всё предоставленное пространство в рамках контейнера (определение &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: small;&quot;&gt;display: block&lt;/span&gt; крайне неточное, но этого будет достаточно, что бы донести суть в рамках этой статьи), это нам даст полезный результат — нажатие мыши будут обрабатываться, как нажатие на ссылку когда курсор находиться над контейнером, даже необязательно над самой ссылкой.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Блок «почемучек»:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/CSS2/visuren.html#display-prop&quot;&gt;w3.org: Visual formatting model. The &#39;display&#39; property&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/CSS2/visuren.html#dis-pos-flo&quot;&gt;w3.org: Visual formatting model. Relationships between &#39;display&#39;, &#39;position&#39;, and &#39;float&#39;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/css/pr_class_display.asp&quot;&gt;w3schools: CSS display Property&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/css/css_display_visibility.asp&quot;&gt;w3schools: CSS Display and Visibility&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid   .field&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;width&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;22px&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;text-align&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;center&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;тут всё понятно&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;и..., как всегда — завершающий штрих:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: maroon;&quot;&gt;.grid tr:hover .button&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;visibility&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;visible&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Показывает кнопку, при наведении курсора мыши на строку &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/dynamic_visibility/index.html&quot;&gt;таблицы&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Дальше вы можете дать волю фантазии и применить полученное умение как вам вздумается и ещё более изощрённым способом. Например в таблице комментариев форума показывать ссылки &lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Edit&lt;/span&gt;, &lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Delete&lt;/span&gt;, &lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Quote&lt;/span&gt; для поста только при наведении курсора мыши на строку с самим постом.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 2em;&quot;&gt;Таким образом мы решаем массу задач:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;скрываем от пользователя  ненужные ему элементы страницы и  показываем в тот момент, когда это  нужно. Это создаёт впечатление  интерактивности страницы. Да и вообще  страницы смотрится «легче» и воспринимается  проще.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;отказываемся от JS,  в которых не было необходимости.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;получаем более  простой код страницы.&lt;/li&gt;
&lt;li&gt;ну и в конце-то концов  красуемся своими навыками в CSS.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/2906908468911661824/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/04/dynamic-visibility.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/2906908468911661824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/2906908468911661824'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/04/dynamic-visibility.html' title='Динамическое отображение с CSS'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4730310736572460006.post-1158953123213362979</id><published>2010-04-02T01:40:00.035+03:00</published><updated>2010-04-22T01:01:16.423+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="mouse hovering"/><category scheme="http://www.blogger.com/atom/ns#" term="selectors"/><title type='text'>Mouse Hovering</title><content type='html'>&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Эта статья будет открывать цикл публикаций о вёрстке в блоге.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Цель данных публикаций показать красоту и гибкость каскадных таблиц стилей (далее CSS) в верстке веб-страниц. Полагаю все уже давно знакомы с понятием CSS, зачем они и как с ними работать, я же покажу нетривиальное использование стилей, для «облегчения» страниц от javascript-ов. Я давно уже придерживаюсь javascript-less написания страниц, и вам советую. Нужно взять за правило, что JS встраивать в страницу нужно только тогда, когда в этом есть действительно необходимость, и по-другому никак не обойтись. Можно долго спорить об этой строчке, начинать holy-war, и всё такое, но это моё мнение и я постараюсь вам его аргументировать.&lt;/div&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Начнём с самых простых вещей — подсветка элементов за указателем мыши.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Все, наверное, неоднократно наблюдали на сайтах этот занимательный эффект, ни для кого не секрет, что он добивается встраиванием JS в страницы. Наша задача будет добиться того же, только при помощи CSS-only. И так, приступим.&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Предположим у нас есть до боли стандартная таблица:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;xml&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;encoding&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;utf-8&quot;&lt;/span&gt;?&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;DOCTYPE&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;html&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;PUBLIC&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;-//W3C//DTD XHTML 1.1//EN&quot;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;xmlns&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;http://www.w3.org/1999/xhtml&quot;&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;xml:lang&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;en&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&quot;CSS : Неизвестное об известном&quot;, часть 1, подсветка&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;=&quot;grid&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;#&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Data&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Value&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;th&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;thead&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Расстрелять нельзя помиловать&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;135&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;2&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Военный долг&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;889&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;3&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;А может быть&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;356&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;4&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Здание сохранения здоровья&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;231&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;5&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;Самосвала&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;058&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;td&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tr&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;tbody&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: maroon;&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Я сразу задал таблице класс &lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;grid&lt;/span&gt;, сейчас мы его и поднастроим так, что бы табличка была красивой.&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt; &lt;span style=&quot;color: maroon;&quot;&gt;table.grid, td, th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;font-family&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;sans-serif&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border-collapse&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;collapse&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;border&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;1px solid #A4BED4&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;table.grid th&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#A4BED4&lt;/span&gt;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: maroon;&quot;&gt;table.grid tr&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#F0F8FF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/mouse_hovering/index0.html&quot;&gt;Табличка&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Маленький фокус:&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: #ebeced;&quot;&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=&quot;color: black; font-family: &#39;Courier New&#39;; font-size: small;&quot;&gt;  &lt;span style=&quot;color: maroon;&quot;&gt;table.grid tr:hover&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;background-color&lt;/span&gt;: &lt;span style=&quot;color: blue;&quot;&gt;#E3EFFF&lt;/span&gt;;&lt;br /&gt;
}&lt;/span&gt; &lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Теперь можно наслаждаться красивой подсветкой строк за курсором в &lt;a href=&quot;https://dl.dropbox.com/u/1104627/articles/CSS/mouse_hovering/index.html&quot;&gt;таблице&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Если захочется «ховерить» ячейки — достаточно поменять строку на &lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;table.grid &lt;b&gt;td&lt;/b&gt;.hover&lt;/span&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Это было очень просто, я предупреждал.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;Настоятельно рекомендую почитать статью: &lt;a href=&quot;http://www.w3.org/TR/CSS2/selector.html&quot;&gt;w3.org: Selectors&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;и на закуску &lt;a href=&quot;http://www.w3schools.com/css/pr_pseudo_hover.asp&quot;&gt;w3schools: CSS :hover pseudo-class&lt;/a&gt;, &lt;a href=&quot;http://www.w3schools.com/CSS/css_pseudo_classes.asp&quot;&gt;w3schools: CSS Pseudo-classes&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0cm; text-indent: 0.63cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;div style=&quot;text-align: right;&quot;&gt;Написано специально для &lt;a href=&quot;http://www.reditlab.com/&quot;&gt;RedItLab.com&lt;/a&gt; © Jin.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jinnmv.blogspot.com/feeds/1158953123213362979/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://jinnmv.blogspot.com/2010/04/mouse-hovering.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/1158953123213362979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4730310736572460006/posts/default/1158953123213362979'/><link rel='alternate' type='text/html' href='http://jinnmv.blogspot.com/2010/04/mouse-hovering.html' title='Mouse Hovering'/><author><name>Jin</name><uri>http://www.blogger.com/profile/04900419733541922204</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1mo5JEdA4vi5o_hCHqduPyfaTRzDiY_T6yAeRtl82Y9J-NnNXmZXoeEc5Z5EMUOKCq4wKEad_LUPGNs8d1SP8YIsupcWfMF5pSNfrAIl1syMdB1CoI0lT0i-MQt5l-Og/s220/picture.png'/></author><thr:total>0</thr:total></entry></feed>