Исходная css нормализация для WordPress

Версия 1.0 Для кастомной темы HSTR

# Normalize based on 
/*not important tags normalization*/
abbr[title] {border-bottom: 1px dotted;}
b,strong {font-weight: bold;}
dfn {font-style: italic;}
mark {background: #ff0;	color: #000;}
small {font-size: 80%;}
sub,sup {font-size: 75%;	line-height: 0;	position: relative;	vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
svg:not(:root) {	overflow: hidden;}
figure {margin: 1em 40px;}
hr {box-sizing: content-box;height: 0;}
pre {overflow: auto;}
code,kbd,pre,samp {font-family: monospace, monospace;font-size: 1em;}
fieldset {border: 1px solid #c0c0c0;margin: 0 2px;	padding: 0.35em 0.625em 0.75em;}
legend {border: 0;padding: 0;}
optgroup {font-weight: bold;}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {	display: block;}
audio,canvas,progress,video {	display: inline-block;	vertical-align: baseline;}
audio:not([controls]) {	display: none;	height: 0;}
[hidden],template {	display: none;}
dfn, cite, em, i {	font-style: italic;}
blockquote {margin: 0 1.5em;}
address {margin: 0 0 1.5em;}
pre {background: #eee;font-family: "Courier 10 Pitch", Courier, monospace;font-size: 15px;font-size: 0.9375rem;line-height: 1.6;margin-bottom: 1.6em;max-width: 100%;overflow: auto;padding: 1.6em;}
code, kbd, tt, var {font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;font-size: 15px;font-size: 0.9375rem;}
abbr, acronym {border-bottom: 1px dotted #666;cursor: help;}
mark, ins {background: #fff9c0;text-decoration: none;}
big {font-size: 125%;}
blockquote, q {quotes: "" "";}
blockquote:before, blockquote:after, q:before, q:after {content: "";}
hr {background-color: #ccc;border: 0;height: 1px;margin-bottom: 1.5em;}
dt {font-weight: bold;}
dd {margin: 0 1.5em 1.5em;}
figure {margin: 1em 0;}
/*forms and buttons*/
button,input[type="button"],input[type="reset"],input[type="submit"] {border: 1px solid;border-color: #ccc #ccc #bbb;border-radius: 3px;background: #e6e6e6;color: rgba(0, 0, 0, 0.8);font-size: 12px;font-size: 0.75rem;line-height: 1;padding: .6em 1em .4em;}
button:hover,input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover {border-color: #ccc #bbb #aaa;}
button:active, button:focus,input[type="button"]:active,input[type="button"]:focus,input[type="reset"]:active,input[type="reset"]:focus,input[type="submit"]:active,input[type="submit"]:focus {border-color: #aaa #bbb #bbb;}
input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="number"],input[type="tel"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="color"],textarea {color: #666;border: 1px solid #ccc;border-radius: 3px;padding: 3px;}
input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="number"]:focus,input[type="tel"]:focus,input[type="range"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="color"]:focus,textarea:focus {color: #111;}
input[type="range"] {color: #fff;height:20px;border-radius: 8px;background:-webkit-gradient(linear,center top, center bottom, from(#CFDCDD),to(#DFE9EA),color-stop(50%,#DFE9EA));}
select {	border: 1px solid #ccc;}
textarea {width: 100%; overflow: auto;}
button,input,optgroup,select,textarea {color: inherit;font: inherit;margin: 0;}
button {overflow: visible;}
button,select {text-transform: none;}
button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button;	cursor: pointer;}
button[disabled],html input[disabled] {cursor: default;}
button::-moz-focus-inner,input::-moz-focus-inner {	border: 0;	padding: 0;}
input {	line-height: normal;}
input[type="checkbox"],input[type="radio"] {	box-sizing: border-box;	padding: 0;}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
/*Main tags normalization*/
*,*:before,*:after {	box-sizing: inherit;/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */}
html {font-family: sans-serif;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%; box-sizing: border-box;}
body {margin: 0; background: #fff;}
body,button,input,select,optgroup,textarea {	color: #404040;	font-family: Arial, sans-serif;	font-size: 16px;line-height: 1.5;}
a {	background-color: transparent;}
a:active,a:hover {outline: 0;}
a {color: royalblue;}
a:visited {color: royalblue;}
a:hover, a:focus, a:active {color: midnightblue;}
a:focus {outline: thin dotted;}
a:hover, a:active {outline: 0;}
h1 {	font-size: 2em;	margin: 0.67em 0;}
h1, h2, h3, h4, h5, h6 {clear: both;}
img {border: 0; height: auto;max-width: 100%;}
table {border-collapse: collapse;border-spacing: 0; margin: 0 0 1.5em;width: 100%;}
td,th {	padding: 0;}
p {margin-bottom: 1.5em;}
ul, ol {margin: 0 0 1.5em 3em;}
ul {list-style: disc;}
ol {list-style: decimal;}
li > ul,li > ol {margin-bottom: 0;margin-left: 1.5em;}

/*WP default HSTR styles*/
.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {margin: 0 0 1.5em;overflow: hidden;}
.comment-navigation .nav-previous, .posts-navigation .nav-previous,.post-navigation .nav-previous {float: left;width: 50%;}
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {	float: right;	text-align: right;	width: 50%;}
/* Accessibility - Text meant only for screen readers. */
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px);position: absolute !important;height: 1px;width: 1px;overflow: hidden;word-wrap: normal !important;}
.screen-reader-text:focus {background-color: #f1f1f1;border-radius: 3px;box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);clip: auto !important;color: #21759b;display: block;font-size: 14px;font-size: 0.875rem;font-weight: bold;height: auto;left: 5px;line-height: normal;padding: 15px 23px 14px;text-decoration: none;top: 5px;width: auto;z-index: 100000;	/* Above WP toolbar. */}
#content[tabindex="-1"]:focus {	outline: 0;} /* Do not show the outline on the skip link target. */
/* Alignments*/
.alignleft {display: inline;float: left;margin-right: 1.5em;}
.alignright {display: inline;float: right;margin-left: 1.5em;}
.aligncenter {clear: both;display: block;margin-left: auto;margin-right: auto;}
.clear:before,.clear:after,.entry-content:before,.entry-content:after,.comment-content:before,.comment-content:after,.site-header:before,.site-header:after,.site-content:before,.site-content:after,.site-footer:before,.site-footer:after {content: "";display: table;	table-layout: fixed;}
.clear:after,.entry-content:after,.comment-content:after,.site-header:after,.site-content:after,.site-footer:after {	clear: both;}
/* Widgets */
.widget {margin: 0 0 1.5em;}
.widget select {max-width: 100%;}
/* Posts and pages */
.sticky {display: block;}
.hentry {margin: 0 0 1.5em;}
.updated:not(.published) {display: none;}
.page-content,.entry-content,.entry-summary {margin: 1.5em 0 0;}
.page-links {clear: both;margin: 0 0 1.5em;}
/* Comments*/
.comment-content a {word-wrap: break-word;}
.bypostauthor {display: block;}
/* Infinite scroll*/
/*Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,.infinite-scroll.neverending .site-footer {/* Theme Footer (when set to scrolling) */display: none;}
/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {display: block;}
/* Media */
.page-content .wp-smiley,.entry-content .wp-smiley,.comment-content .wp-smiley {border: none;margin-bottom: 0;margin-top: 0;padding: 0;}
/* Make sure embeds and iframes fit their containers. */
embed,iframe,object {	max-width: 100%;}
/* Make sure logo link wraps around logo image. */
.custom-logo-link {	display: inline-block;}
/* Captions */
.wp-caption {margin-bottom: 1.5em;max-width: 100%;}
.wp-caption img[class*="wp-image-"] {display: block;margin-left: auto;margin-right: auto;}
.wp-caption .wp-caption-text {margin: 0.8075em 0;}
.wp-caption-text {text-align: center;}


Сама тема hstr

Свой дизайн комментариев в WordPress

Чтобы изменить стандартный дизайн комментариев в движке WordPress часто необходимо подправить html код который генерирует движок.

Переводим листинг комментов wp_list_comments на свою функцию hstr_comment:

<ul class="comment-list">
wp_list_comments( 'type=comment&callback=hstr_comment' );
</ul><!-- .comment-list -->

А в этой функции

В файле functions.php добавляем свою функцию:

function hstr_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>

<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>" >

<div class="comment-author vcard">
<div class="comment_avatar"><?php echo get_avatar($comment, $size='48' ); ?></div>

<?php printf(__('<span class="fn">%s</span>'), get_comment_author_link()) ?><br />
<span class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('# %1$s O %2$s'), get_comment_date(), get_comment_time()) ?></a> <?php edit_comment_link(__('(Edit)'),' ','') ?></span>
<br class="clear" />

<?php // if ($comment->comment_approved == '0'){echo '<em>Ваш комментарий ожидает проверки</em>';} ?>

<?php comment_text() ?>

<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>



Не забываем подправить css


.comment-content a {
word-wrap: break-word;
.comment-meta a{text-decoration:none;}

.bypostauthor {
display: block;

.comment_avatar {float:left; margin-right:15px;}

.comment-author:after{ content: "";
display: table;
table-layout: fixed; clear:both; }

.comment {margin:0px 0px 50px 0px;}

.reply{ line-height:0px;}

.comment .fn { font-size:26px; line-height:0px; font-style:normal;}

.children { margin:40px 0px 0px 40px;}

putty — не верное отображение символов в MC — qqqqqq

Часто бывает что при заходе на сервер через Putty встречаешь «аброкадабру» вместо букв в Midnight Commander (MC) или неверное отображение псевдографики (линии отображаются qqqqqqqqqqq…) Обычно это решается выставлением правильной кодировки в настройках Putty:

Window -> Translation -> Remote character set

Устанавливаем ту же кодировку что и на удаленном сервере. Обычно это UTF-8

Чтобы узнать какая кодировка используется на сервере вводим ssh команду:


В ответ сервер выдает что-то типа:


Это значит что кодировка используемая в консоли ru_RU.UTF-8. Выставляем в Putty UTF-8 и все должно заработать нормально.

Однако бывает что в ответ на команду locale сервер выдает:


Это значит что локаль на сервере не настроена.

Чтобы посмотреть предустановленые локали:

locale -a | grep ru

Сервер выдаст что-то типа:


Видим что необходимая локаль есть ru_RU.utf8

Чтобы настроить использование ее в консоли создаем файл /etc/sysconfig/i18n командой:

touch /etc/sysconfig/i18n

После чего в файл пишем следующие строки:


Сохраняем файл и выходим из консоли. Заходим снова. И наблюдаем что всее символы отображаются корректно.

Если при использовании команды

locale -a | grep ru

в списке нет необходимой локали. То нужно ее установить командой:

localedef -i ru_RU -f UTF-8 ru_RU.UTF-8

Эта команда извлечет из папки /usr/share/i18n/charmaps файл UTF-8.gz (символьная карта для юникода) и сгенерирует нужный нам файл ru_RU.UTF-8

Нормализация CSS

Добиться одинаковости отображения сайтов различными браузерами можно двумя способами:

1. Стереть все стили(которые используются в браузерах по умолчанию) и далее с чистого листа писать новые — так называемый резет;
2. Нормализовать стили — сделать похожим отображение большинства элементов html, сохраняя полезные свойства браузеров и не обнуляя их.

Хороший код нормализации CSS который используют Twitter, GitHub, Guardian, Bootstrap, Pure и др. это Normalize.css

Это хорошая основа для написания собственных стилей..или просто как дополнение для коссбраузерности уже существующих стилей.