Нужно сделать, чтобы кнопки в ряд занимали всю ширину .row Сейчас они смещены влево и не тянутся на всю ширину, хотя им присвоено свойство display: table-cell; Вопрос: почему display: table-cell не работает для инпутов? И можно ли достичь желаемого результата не оборачивая input в дополнительные div?
.row{
display: table;
table-layout: fixed;
width: 100%;
border-spacing: 1px 0;
background-color: #eee;
}
.input{
display: table-cell;
}
Ответ
Нужно переделывать на Flexbox, если количество кнопок неизвестно:
.row {
height: 25px;
display: flex;
flex-direction: column;
flex-wrap: wrap
}
.row input {
page-break-inside: avoid;
break-inside: avoid;
}
Или же поставить ширину 25%, если их количество фиксированно:
.row{
display: table;
table-layout: fixed;
width: 100%;
border-spacing: 1px 0;
background-color: #eee;
}
.input{
width: 25%;
/* Убираем влияние padding и border на конечную ширину input */
box-sizing: border-box;
/* Обнуляем margin */
margin: 0;
}
В своем андроид-приложении ни разу не проверял db != null, при этом запросы работают. Прочитал, что надо проверять, к примеру, как в следующем коде. SQLiteDatabase db = new ContactDbHelper(
getApplicationContext()).getWritableDatabase();
if (db != null) {
Toast.makeText(getApplicationContext(),
"DB Contacts is created", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(getApplicationContext(),
"Error create database!", Toast.LENGTH_LONG).show();
}
Вопрос такой, нужно ли проверять SQLiteDatabase db на null? Это просто подстраховка и если да, по каким причинам БД может не создаться, при условии, что код рабочий?
Ответ
Код открытия БД ищет БД по пути задаваемому методом Context.getDatabasePath(), легко может случиться, что какая-то сволочь однажды решит перегрузить этот метод в своем Activity и указать путь на внешний носитель - тогда вас будет ждать легкий Überraschung :) Так что проверять надо все таки.
При компиляции и запуске проекта ASP.NET MVC Core часть .cs файлов блокируется студией и что б изменить код- надо "выключать сборку", изменять код, заново компилировать и запускать изменённый проект, затрачивая время. Можно ли на лету после изменения .cs файла собрать проект и тут же увидеть в браузере обновлённые данные, не перезапуская весь IIS ?
Ответ
Можно, если использовать компьютер в качестве локального веб-сервера. Не путать с IIS Express, который открывает Visual Studio при запуске проекта. Следует заметить что компонент IIS включен как часть установки Windows как для сервера, так и для рабочих машин. Каждая версия OS Windows предлагает свою версию IIS: Windows 8 - IIS 8, Windows 7 - IIS 7/7.5
Чтобы установить его, необходимо выполнить следующие действия:
Открыть панель управления
Открыть "Программы"
Открыть "Включение или отключение компонентов Windows".
Выбрать Internet Information Services (Службы IIS)
Убедитесь, что вы выбрали поддержку ASP.NET.
Для этого раскройте узел Службы Интернета --> Компоненты разработки приложений --> ASP.NET (Internet Information Services --> World Wide Web Services --> Application Development Features --> ASP.NET) Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools --> IIS 6 Management Compatibility).
Ok
Убедитесь, что IIS активен: открыть localhost:80 в браузере. Ниже показана стандартная страница.
Установить SQL Server и разрешить подключения
Открыть Visual Studio с права администратора и создать виртуальный каталог для приложения: ПКМ по проекту --> Свойства --> Веб --> В разделе серверы выбрать "Локальный IIS" --> Нажать "Создать виртуальный каталог".
Проект будет доступен по адресу указанному в графе URL-адрес проекта
После написания кода собираем проект Ctrl+Shift+B и перезагружаем страницу в браузере.
Для отладки
Запускаем Visual Studio с правами администратора
Жмем кнопку присоединиться (вверху на панельке, зеленая)
Ставим галочку на "Показать процессы, запущенные всеми пользователями"
Ищем процесс с названием "w3wp.exe"
Жмем "Присоединиться"
Мне нужно вставить текст по центру в верхнюю и нижнюю границу, которые будут иметь фоновое изображение позади них. Это будет на каждой странице. Я могу добиться этого с помощью CSS? Пожалуйста, посмотрите скриншот того, что я имею в виду:
Граница должна быть белого цвета, 3 пикселя в ширину, а шрифт - Basis Grotesque Medium. Я надеюсь начать с редактирования темы WordPress. Надеюсь, что на этот вопрос не был получен ответ в другом месте. Я пытался искать, но не мог найти то, что мне нужно. Прежде чем идти вперед и начать строить этот сайт, не могли бы вы сказать мне, если это возможно, как я могу достигнуть этого? Источник: Insert text in border CSS HTML
Сижу на хостинге, и у некоторых пользователей очень долгая загрузка сайта.
Разбирались, и нашли почему такая проблема, но не нашли решения. На сайт подключается стиль стандартным способом:
В стиле всего 79 строчек, но самую большую нагрузку в стилемов файле беру изображения: background: url(../images/bg.jpg);
И вот каждая картинка грузит около 3-5 секунд (весом 900кб). Не понимаем, с чем связана эта проблема, у 95% пользователей все окей, а у остальных 5% - такая вот беда... При прямом открытии картинки по URL, эту картинку грузит все равно те же 5 секунд, а остальные - шустро (200мс в среднем). В какую сторону стоит копать в такой ситуации?
Ответ
Я бы посоветовал вам оптимизировать весь статический контент на сайте. Сжатие графики В вашем случае кроме сжатия стилей и скриптов посоветую сжимать и графику. К примеру, картинки можно легко сжать без потери качества только за счет удаление exif-данных. На реальном сайте можно сократить размер картинок в среднем на 70%, что на современном сайте равняется примерно 4 МБ. Пример на gulp var
gulp = require('gulp'),
imagemin = require('gulp-imagemin'),
imageminJR = require('imagemin-jpeg-recompress'),
imageminSvgo = require('imagemin-svgo'); // Optimizing images
gulp.task('imagemin', function() {
gulp.src('./img/**/*')
.pipe(imagemin([
imageminJR({
method: 'ms-ssim'
}),
imageminSvgo({
plugins: [
{removeViewBox: false}
]
})
]))
.pipe(gulp.dest('./public/img/'))
});
А для браузеров, которые понимают легковесный формат webp (формат разработан Google), можно сделать еще такой вариант изображений: var
gulp = require('gulp'),
webp = require('gulp-webp'); // Generate Webp
gulp.task('webp', function() {
gulp.src('./img/**/*')
.pipe(webp())
.pipe(gulp.dest('./public/img/'))
});
Оптимизация скриптов Сперва объедините все скрипты в один файл и минифицируйте их. Это помет сократить количество HTTP-запросов и размер файлов: var
gulp = require('gulp'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'); // Concat JS
gulp.task('js', function(){
gulp.src([
'./js/jquery.js',
'./js/wow.js',
'./js/menu.js',
'./js/scrollspy.js',
'./js/main.js',
'./js/temp/contact.bundled.js',
'./js/owl.carousel.js'
])
.pipe(concat('script.js'))
.pipe(uglify())
.pipe(gulp.dest('./public/js/'))
});
Оптимизация стилей Кроме обычной минификации стилей можно использовать и продвинутую - объединять дубликаты классов и @media. Пример на gulp из моего [web-starter-kit][1]: var
gulp = require('gulp'),
stylus = require('gulp-stylus'), // Минифицирует CSS, объединяет классы. Не ломает CSS, в отличие от cssnano, который, к примеру, может неправильно выставлять z-index
csso = require('gulp-csso'), // Объединяет все @media
cmq = require('gulp-combine-mq'), // Сокращает CSS-селекторы
gs = require('gulp-selectors'), // Проставляет вендорные префиксы
autoprefixer = require('gulp-autoprefixer'), livereload = require('gulp-livereload'),
nib = require('nib'); // Compiling Stylus in CSS
gulp.task('css', function() {
gulp.src('./styl/*.styl')
.pipe(stylus({
use: nib()
}))
.pipe(cmq())
.pipe(csso())
.pipe(autoprefixer('last 3 versions'))
.pipe(gulp.dest('./public/css/'))
});
А если совсем делать нечего, то можно еще и селекторы сократить: // Minify selectors
gulp.task('gs', function() {
var ignores = {
classes: ['active', 'menu', 'nav', 'slide', 'error', 'form-control', 'loader', 'showLoader', 'fadeLoader', 'webp', 'wow', 'owl-*', 'i-*'],
ids: '*'
};
gulp.src(['./public/**/*.css', './public/**/*.html'])
.pipe(gs.run({}, ignores))
.pipe(gulp.dest('./public/'))
});
Кстати, наверняка у вас есть классы, добавляющиеся через JS, поэтому предварительно стоит все такие классы вынести в переменную ignores Кеширование статики на стороне пользователя Также бы посоветовал кешировать скрипты и стили на стороне пользователя, чтобы исключить их повторную загрузку, если они не изменились:
Header set Cache-Control "max-age=2592000"
И включить gzip сжатие на сервере: # сжатие text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
Пробовал сделать вот так: string pattern = @"^\s+";
Regex regex = new Regex(pattern, RegexOptions.Singleline);
но когда пытаюсь выполнить Match match = regex.Match("list command");
мне возвращает ""
Ответ
Скорее всего, вы просто перепутали большую и маленькую S \s - это пробельный символ \S - это любой символ кроме пробельного, нужно написать так: ^\S+
или для верности: ^\S+\s
Мне нужно сделать админку на laravel... Подключил sleepingowl 4!
Делаю по данному видеоуроку (https://www.youtube.com/watch?v=ca4zn71n4BI), по инструкции с официального сайта совы ВСЕ данные повносил:
файл composer.json: {...
"require": {
...
"laravelrus/sleepingowl": "4.*@dev"
}
}
файл config/app.php: 'providers' => [
...
SleepingOwl\Admin\Providers\SleepingOwlServiceProvider::class,
App\Providers\AppServiceProvider::class,
... ]
файл .env: DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=root
Ввожу в адресную строку http://blog.laravel.com/admin (как сказано в официальных доках http://sleepingowladmin.ru/docs/configuration) выдает: Not Found The requested URL /admin was not found on this server.
Apache/2.4.18 (Ubuntu) Server at blog.laravel.com Port 80
Логи апача говорят : 127.0.0.1 - - [21/Feb/2017:13:01:23 +0200] "GET /admin HTTP/1.1" 404 502 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0"
Помогите настроить админку! Ссылка на Github: https://github.com/AlexBukreyev/blog.laravel
Ответ
Все прекрасно, просто пропишите Route:
/routes/web.php
В учебнике написана задача:
Создайте собственную анимацию. Используйте setInterval для
анимации заголовка h1, двигая его по квадрату вдоль краев страницы.
Текст двигаю вправо и вниз, а дальше никак, помогите начинающему
var leftOffset = 0;
var topOffset = 0;
var moveHeading = function () {
$("#heading").offset({
left: leftOffset,
top: topOffset
});
leftOffset++;
if (leftOffset > 200) {
leftOffset = 200;
topOffset++;
if (topOffset > 200) {
topOffset = 200;
}
}
};
setInterval(moveHeading, 30)