Страницы

Поиск по вопросам

Показаны сообщения с ярлыком html. Показать все сообщения
Показаны сообщения с ярлыком html. Показать все сообщения

среда, 15 апреля 2020 г.

Максимальное количество символов в атрибуте alt у <img>?

#html #css

                    
Какое максимальное количество символов можно добавить в атрибут alt у метки ?
    


Ответы

Ответ 1



В HTML 4 стоит ограничение в 64Кб: http://www.w3.org/TR/REC-html40/sgml/sgmldecl.html . В HTML 5, похоже, то же самое.

Как сделать iframe с динамической высотой, задаваемой внутренним содержимым самого фрейма

#html #css #iframe

                    
Добрый день. Как известно iframe кушает лишь четкие указания height в px, а нужно
что-бы вставляемый iframe растягивал родительский элемент, в зависимости от размера
содержимого самого iframe, т.к. содержимое - динамическое. Кто знает какие решения,
простые или сложные (JS, JQ и т.д.)?    


Ответы

Ответ 1



Скрипт вставлять в тот документ который загружается в iframe, не забудьте также подключить в этот файл jQuery (проверял на 1.6.2) Посмотрите еще вот это - http://host.sonspring.com/iframe/

Ответ 2



Работает, но если содержимое больше высоты монитора, то устанавливается высота которая видна, если бы я открыл этот Iframe в отдельном окне.

Убрать отображение полос прокрутки

#html #css

                    
У меня есть небольшой блок и полосы прокрутки к нему. Надо чтобы полосы прокрутки
работали (колесом крутить если), а сами полосы не были видны. hidden убирает их, но
работоспособность также проходит.
    


Ответы

Ответ 1



Что бы блок прокручивался - а полос не было - это нужно внедрять жску. Есть много плагинов, которые скрывают полосы прокрутки, но сам скол работает. А средствами ксс - не видел такого еще. Вот один из них slimscroll

Ответ 2



в css ::-webkit-scrollbar { visibility: hidden; width: 0px; }

Вставка HTML через JS

#html #javascript

                    
Доброго всем времени суток! Возник следующий вопрос: в зависимости от результата
проверки некоторого условия в JS нужно выводить на HTML определенный блок из двух.
Видимость не подходит, есть элементы, которые не могут выводиться 2 раза. Как это лучше
сделать?     


Ответы

Ответ 1



Либо подключаем Jquery, что намного удобнее, если нет маниакального стремления строить велосипеды(на что мое мнение, надо построить свою ось для начала, чтобы уже никто не подкопался), либо возможно стандартным js Доступ к элементам DOM. Вариант с Jquery до безумия прост 1.Подключаем библиотеку 2.Присваиваем элементам id к примеру div id="blockN" 3.Меняем их содержимое $("#blockN").html(Вставьте свою разметку сюда); 4.Гуглим "Jquery селекторы"

Ответ 2



document.getElementById(someid).innerHTML = somehtml;

Ответ 3



condition?document.getElementById (id).innerHTML = value; Надеюсь, разберешся :)

понедельник, 13 апреля 2020 г.

Расположение трех блоков внутри блока с заданной высотой

#css3 #css #html #html5

                    
Есть блок main с ЗАДАННОЙ высотой в пикселях.
Есть 3 внутренних блока:

top - должен масштабироваться по контенту и ужимать блок middle
middle - должен быть с появляющейся полосой прокрутки (если
   не хватает места контенту)
buttom - с фиксированной высотой в пикселях

Как сделать так, чтобы блок main НЕ растягивался, а оставался такой же высотой, в
тоже время блок top ужимал блок middle своим содержимым?
#main{
    height:200px !important;
    width:100px;
    background:blue;
}
#top{
    background:green;
}
#middle{
    background:red;
    height:100%;
    overflow: auto;
}
#buttom{
    background:blue;
    height:50px;
    bottom:0
}

Текст текст текст текст текст текст текст текст текст текст текст
Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст
Текст текст текст
Есть какие-нибудь предположения, как так сделать? http://jsfiddle.net/5fCcy/3/


Ответы

Ответ 1



У CSS с высотой вообще большие проблемы, так что я бы не мучился и решил через JS. Скрипт можно упростить, это я для наглядности так расписал. А пользователи с отключенным JS пусть смотрят упрощенную версию сайта :)

Изменить стиль блока при нажатии

#javascript #html #jquery #css

                    
Не знаю JavaScript вообще. Только CSS и HTML. Помогите написать код, пожалуйста.
Допустим, у меня есть блок A 
У него есть стиль #a {width:100px; height:100px; position:absolute (или relative, не суть); top:0px} При нажатии на этот блок нужно чтобы у него был top:100px; left:50px к примеру. Насколько мне известно, средствами CSS можно лишь сделать так, чтобы на время нажатия на этот блок он перемещался, а когда отпустить кнопку мыши - он встанет на свое место. Как сделать, чтобы при клике на этот блок он переместился, а при еще одном клике встал назад? Очень, очень и очень желательно без JavaScript, ибо я его пока что ВООБЩЕ не знаю, если возможно. Если невозможно, помогите написать скрипт-шаблон, и хотя бы отдаленно расскажите какая команда за что отвечает. Спасибо большое, надеюсь поможете)) UPD Возможно сделать так, чтобы при клике у него менялись свойства? Или при клике вместо id="a" у него становился id="a1" ? Это возможно?


Ответы

Ответ 1



Уже тыщу раз отвечал на подобный вопрос: HTML CSS #a { width:100px; height:100px; position:absolute; top:0; left: 0; border: 1px solid black; transition: all 0.5s; } .switchable input { display:none; } .switchable input:checked+#a { top:100px; left:50px } http://jsfiddle.net/oceog/sFEH4/ фокус в использовании :checked и следующего за ним div. ограничение способа - нельзя помещать в такой
никаких input

Ответ 2



Я бы посоветовал лучше переключать классы, а не менять конкретные свойства. Например, так jsFiddle. Я закомментировал второй вариант, который помимо того что переключает класс, меняет и id элемента.

Слайдер под jquery > 1.8

#jquery #slider #изображения #html #css

                    
Есть возможность адаптировать этот плагин под jquery старше 1.9 , дело в том, что
он с 1.8 > не работает, а слайдер хорош www.tympanus.net/codrops/2011/04/28/rotating-image-slider/    


Ответы

Ответ 1



Любой плагин можно со старых версий перевести на новую. Подключите jQuery Migrate и вычисляйте устаревшие методы, заменяя их на новын аналоги. Вот к примеру $.browser, который используется в том плагине - с версии 1.9 удален. Естественно, что он вызывает ошибку.

CSS: перенос элементов

#css3 #html #javascript #css

                    
Существует решение для построения дерева с использованием HTML + CSS. Еще немного
JS используется для реализации функции свертывания узлов дерева.
Вот собственно и сам пример.
Проблема в том, что при большом количестве узлов, последние не помещаются в родительский
контейнер. Можете предложить какие-то идеи по устранению данной проблемы? Что только
не пробовал: и работал со свойством overflow и javascript задействовал - безрезультатно.
Буду рад как готовому решению, так и его словесному описанию. Заранее спасибо.
P.S.: Оригинал - CSS3 Family Tree    


Ответы

Ответ 1



Есть одна мысль. Сделать ul { white-space: nowrap; } li { display: inline-block!important; } Но надо будет тогда css крепко править, чтобы нужный вид со всеми линиями сохранился

Динамическая ширина у input и select

#html #css #input #форма #html_select

                    
Есть форма с полями типа text и select со стоящими в линию метками (label). Все метки
и поля могут иметь различную длину (ну, как всегда в формах). label'ы выравниваются
влево, input и select левым краем примыкают к label, и в общем-то цель состоит в том,
чтобы выровнять инпуты и селекты по правому краю так, чтобы они как бы растягивались
автоматически от конца label до правого края контейнера и в итоге имели различную длину,
но четкое выравнивание справа. Картинки загружать не дают, попробую тут нарисовать

Как по умолчанию:

Метка поля --------------

Более длинная метка поля --------------

Ещё метка поля --------------

Как нужно мне:

Метка поля -------------------------------------

Более длинная метка поля ----------------

Ещё метка поля -------------------------------
    


Ответы

Ответ 1



Можно например так: http://jsfiddle.net/DdnQ2/ table{ width:500px; } td{ width:0; white-space:nowrap; } td.field{ width:100%; } input{ width:100%; }
Некоторых особо крутых верстальщиков смущает использование таблиц для позиционирования элементов. Чтобы таковые не смущались, можно выполнить рекомендацию w3c и поставить таблицам атрибут role=presentation

Ответ 2



В примере заключен базовый принцип работы универсального решения, которое вы сами сможете легко дополнить необходимыми свойствами и применить к своему проекту: /* Reset CSS */ * { box-sizing: border-box; outline: 0; margin: 0; } .divMain:after { content: ''; display: block; clear: both; } .divA { float: left; } .divB { overflow: hidden; } .divB input { width: 100%; }
Я редактируюсь!


суббота, 11 апреля 2020 г.

Background-image не работает

#html #css

                    
Здравствуйте! Свойство background-image не работает в файле css. 
Файл находится в папке css.
css/style.css
body {
 background-image: url(img/a.png);
}

index.html



 
 New Page
 





Но в самом файле html свойство background-image работает. 



 
 New Page
 





Подскажите, почему не работает, если я размещаю в в файле css?    


Ответы

Ответ 1



в css файле пропишите body { background-image: url(../img/a.png); /* выходим из папки css на уровень вверх, и заходим в папку img */ }

Ответ 2



Между тегами у вас некорректно написана ссылка на файл CSS. Ваш код должен выглядеть так: New Page Как видите вы не дописали type="text/css" в теге link.

Ответ 3



body { background-image: url(../img/a.png); } http://htmlbook.ru/samhtml/ssylki/absolyutnye-i-otnositelnye-ssylki

Ответ 4



пол суток пробовал background-image: url(../img/a.png); background-image: url("../img/a.png"); ,а оказывается надо вот так background-image: url('../img/a.png'); все заработало ;)

Ответ 5



Всем привет. Была такая же проблема: не работал backgrounf-image: url(link). Мучался часа 2, перепробовал всё, любые модификации но проблема оставалась. Ошибка заключалась в том, что не правильно был указан путь к картинке (файлу), и как не старался - ничего не помогало. Потом, когда я начал думать что html и css - не моё, мне вдруг пришла в голову мысль залезть в настройки. Я пользуюсь Notepad++ и обнаружил вот что: в пункте "Путь по умолчанию" было отмечено "запомнить последнюю директорию", я переставил отметку на "пройти за текущим документом", а в значении селектора background-image указал папку и файл: background-image: url(images/1.jpg) И все заработало. Надеюсь, кому да поможет инфа.

Ответ 6



Судя по имени стиля вам нужен фон страницы. Если не работает, то проверьте правильный ли путь к картинке. то есть ../img/a.png или /img/a.png body { margin: 0; padding: 0; background: url("img/a.png") repeat scroll left top #FFFFFF; overflow-y: scroll; }

Ответ 7



Может помочь указания размеров картинки фона. .image { background-image: url(img/a.png); width: 50px; /* ширина */ height: 50px; /* высота */ }

При нажатии вставить HTML коды в textarea

#jquery #html #css #javascript

                    
Мучаюсь уж как 2 дня, подскажите как сделать такое: 
Есть картинки(иконки)сверху,  нужно, чтобы при нажатие на любую из них в textarea
который ниже находиться вставлялись спец коды к примеру , то есть HTML коды.
мне подсказали что это делается на jquery.    


Ответы

Ответ 1



Используй любой из WYSIWYG-редакторов. Если по-своему, то можно так: HTML:
b
JS: var ta = $('#qwe'), ico = $('.icon'); ico.on('click', function(){ switch ($(this).data('type')){ case 'b': ta.val( ta.val() + '' ); break; //можно дописать другие кейсы для новых иконок } }); Демо Можно улучшить, чтобы обрамляло выделенный текст.

Как сделать сразу мобильное меню bootstrap

#jquery #html #css #bootstrap

                    
Как сделать сразу мобильное меню, если пунктов слишком много по ширине, чтобы они
не выстраивались в два этажа.
Вот картинка: 
    


Ответы

Ответ 1



просто хардкод! это если нужно постоянное отображение дропменю

Ответ 2



Если работать с bootstrap на уровне less, то в файле variables.less настраивается переменная @grid-float-breakpoint. Customize and download находим эту переменную, задаём значение(например 1280px) меньше которого меню коллапсирует. Скачиваем, пользуемся.

Обрезание блоков на Ipad

#ipad #html #ios #css

                    
При просмотре кода на Ipad'e блоки обрезаны с правой стороны, хотя ширина 100%. В
чем проблема?
http://rghost.ru/55715542    


Ответы

Ответ 1



- это должно помочь width - установите свою ширину По умолчанию ширина окна просмотра на iPhone устанавливается равной 980px. Но ваш дизайн может не соответствовать данному диапазону. Значение может быть для шаблона слишком большим или маленьким. посмотрите здесь

Как в горизонтальном меню вместо маркеров списка вставить изображение?

#меню #html

                    
Не пойму, как вставить изображение. У меня горизонтальное меню высотой 50 px, сделал
изображение, которое хочу поставить вместо маркера списка, высота изображения тоже 50 px.

Код страницы:



.menu{
    background-image: url(images/fon_menu.jpg);
    height: 50px;
}

li {
    float: left;
    list-style-image: url(images/kn_cl.png);
    font-family: sans-serif;
    font-size: 20px;
    margin: 10px 40px;
}





Если в li пишу display: inline или inline-block, то маркеры и изображения вообще
не отображаются, исчезают.

С тем кодом, который есть сейчас, всё работает, но изображение смещает текст ссылки.
Таким образом вместо маркера получается поставить только изображение такой высоты,
какую высоту имеет текст ссылки (20 px). Если высота больше, сдвигается текст.
    


Ответы

Ответ 1



Вместо list-style-image лучше используйте обычный background. С его помощью можно гибко настроить позицию изображения, чего не получится в случае с list-style-image http://jsfiddle.net/8fV3X/

Расположить элементы в круге

#html #css

                    
Элементы расположены по кругу, с наездом друг на друга.
Как сделать так что бы каждый элементы был выше предыдущего но ниже следующего.
Сейчас получается что первый элемент либо выше двух соседних либо ниже.
Пример
Красный квадрат должен быть выше черного, но ниже зеленого    


Ответы

Ответ 1



http://jsfiddle.net/oceog/6kNTL/7/

Как данные с тега ссылки записать в массив?

#html #javascript

                    
Нужно данные с тегов ссылок записать в массив. 
День рождения:


Ответы

Ответ 1



var linksData = []; $('a').each(function() { linksData.push($(this).text()); }); Данный код сработает абсолютно для всех ссылок на странице. Если вам нужно в конкретном блоке, то делайте выборку так $('.labeled a') .....

Ответ 2



Если Вы ориентированы на поддержку старых браузеров и IE - 2 варианта: jquery (простой, но нужно загружать целую библиотеку), js (кривой: нужно сделать универсальную функцию поиска по классу). Если Вы рассчитываете, что у всех Ваших пользователей есть норм браузер - getElementsByClassName в помощь. Если есть возможность к контейнеру, где хранятся ссылки, прикрутить id - самый наипростейший код js (код как и в варианте выше, но поддерживать будет больше браузеров). Выбор за Вами.

Как растянуть div-блок на всю ширину страницы?

#html #css

                    
Проблема в том, что через комп див блок растягивается правильно, во всю ширину страницы,
а через планшет или телефон див растягивается до границы экрана, а при прокрутке вправо
или уменьшении масштаба там и остаётся. Скрин в самом низу с примером меньшенного масштаба.
Блок отмечен красной стрелкой.

Что пробовал и не помогало:

body { width: 100%; height: 100%; }
.div { min-width: 100%; min-height: 100%; position: relative; }



    


Ответы

Ответ 1



Так происходит, когда блоки сайта не помещаются в ширину экрана и остаются за его границами. Одно из следствий - появляется горизонтальный скролл. При этом те блоки, ширина которых была задана как width: 100% - остаются с такой шириной. В итоге вы скроллите вправо, и видите пустую область. Решить это быстро можно вот так: body { min-width: 1000px; } Этим вы зададите для страницы минимальную ширину, в которую все ваши блоки гарантированно впишутся. И даже если ширина экрана будет недостаточной для отображения всех блоков, и появится горизонтальный скролл - блоки с width: 100% будут отображаться во всю указанную ширину 1000px. Плюс, полезно бывает задать эту же величину в мета-теге в head: Таким образом, заходя с мобильного, вы будете видеть всю страницу целиком, максимально "отзумленную".

Не работает шрифт Google Fonts

#html #css

                    
Добрый день.  
Использую шрифт Fira Sans. 


Подключаю таким способом. 
Пример css:
font-family: 'Fira Sans', sans-serif;
font-weight: 400;
font-style: italic;

На телефоне работает, на моём работает, на соседних нет. У кого-то работает, у кого
опять же нет. В чём проблема? Заранее спасибо.

Адрес сайта: bm.webbys.ru    


Ответы

Ответ 1



Попробуйте добавить "s" в протоколе http://fonts.googleapis.com/css? family=Fira+Sans:300,400,500,700,300italic,400italic,500italic,700italic&subset=latin,cyrillic', чтобы получилось https://

Ответ 2



Попробуй через @import И еще попробуй с body убрать определение шрифта, вообще другие шрифты убери, кроме твоего, и посмотри.

Ответ 3



Попробуйте добавить в head:

Ответ 4



Может поможет пример как я подключал шрифт для странички: body { font-family: 'PT Sans', sans-serif; } @font-face {font-family: 'PT Sans'; src: url('../fonts/pts55f_w.eot'); src: local('PT Sans'), url('../fonts/PTS55F_W.eot?#iefix') format('embedded-opentype'), url('../fonts/PTS55F_W.woff') format('woff'),url('../fonts/PTS55F_W.ttf') format('truetype'), url('../fonts/PTS55F_W.svg#PTSans-Regular') format('svg');}

Как выбрать все html-элементы, имеющие namespace?

#javascript #html #css #dom

                    
Следующий код



function go() {
  console.log(document.querySelectorAll("*|*"));
}
Some div
Smth from a Smth from b

Just a p

находит все элементы на странице: 0: html 1: head 2: style 3: body 4: div 5: a:div 6: b:any 7: p 8: button 9: script length: 10 А как найти только те, у которых задан нестандартный namespace? 0: a:div 1: b:any length: 2


Ответы

Ответ 1



Могу на JQuery элементы с заранее известными нэймспейсами нати. function go() { $('.result').append($('a\\:div')); }
Some div
Smth from a Smth from b

Just a p

Можно и без JQuery: function go() { var elements = document.getElementsByTagNameNS('*','*'); found = []; [].forEach.call(elements, function(element) { if (element.nodeName.indexOf(':') > 0) { found.push(element); } }); found.forEach(function(element) { document.getElementById("result").appendChild(element); }); } В сниппете код почему-то не работает, а при загрузке страницы из файла в Google Chrome — работает. Почему вы не используете JQuery?

Ответ 2



Сделал так: function go() { console.log(Array.prototype.filter.call(document.querySelectorAll("*|*"), function(el) { return ~el.tagName.indexOf(":"); })); }
Some div
Smth from a Smth from b

Just a p



Выпадающее меню сайта на html и CSS

#html #css

                    
Доброго времени суток! Господа, помогите сделать адекватное выпадающее меню для сайта.
Что мы имеем:
Решил потренироваться, и для этого выбрал вот этот шаблон.
Код меню шаблона на html + CSS + JavaScript:



				
				
			
.top-menu {
  position: absolute;
  left:0%;
  top: 78%;
  z-index: 999;
}
.top-menu ul li{
	display: inline-block;
	margin: 0;
	color: #fff;
	float: left;
	vertical-align: top;
}
nav a {
	position: relative;
	display: inline-block;
	outline: none;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	text-shadow: 0 0 1px rgba(255,255,255,0.3);
	font-size: 1em;
}
nav a:hover,
nav a:focus {
	outline: none;
}
.top-menu ul li a{
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-size: 1em;
  padding: 1.2em 4.38em 1em 4.3em;
  font-weight:400;
}
.top-menu ul li a.color1{
   background: #5bb2fc;
}
.top-menu ul li a.color2{
   background:#ffa659;
}
.top-menu ul li a.color3{
   background: #B881CF;
}
.top-menu ul li a.color4{
 background: #fec63f;
}
.top-menu ul li a.color5{
 background:#58ebd3;
}
.top-menu ul li a.color6{
 background:#ff7a85;
}
.top-menu ul li a:hover{
   opacity:0.8;
}
@media (max-width:768px){
	span.menu{
	  width: 35px;
	  height: 35px;
	  background: url(../images/nav.png)no-repeat 0px 0px;
	  display: inline-block;
	  cursor: pointer;
	  position: absolute;
	  right: 3%;
	  top: 24%;
	}
	.top-menu{
		width:100%;
		display: none;
		text-align: center;
		background: rgba(35, 103, 160, 0.56);
		padding: 0;
		margin-top: 10px;
		z-index:9999;
	}
	.span_2 {
	  margin-top: 2em;
	}
	.top-menu ul{
		float:none;
		width:100%;
	}
	.top-menu ul li{
		display:block;
		float: none;
	}
}
				
				




Если, кому-нибудь не трудно, помогите разобраться, а то я сам делал по образцу с
сайта, но у меня получилось, что меню сложилось в один угол. После этого  попробовал
еще сам. Опять ерунда. Круто было бы увидеть выпадающее меню по наведению. 
Заранее спасибо за советы.
    


Ответы

Ответ 1



nav ul ul { display: none; } nav ul li:hover > ul { display: block; } nav ul { background: #efefef; background: linear-gradient(top, #efefef 0%, #bbbbbb 100%); background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%); background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%); box-shadow: 0px 0px 9px rgba(0,0,0,0.15); padding: 0 20px; border-radius: 10px; list-style: none; position: relative; display: inline-table; } nav ul:after { content: ""; clear: both; display: block; } nav ul li { float: left; } nav ul li:hover { background: #4b545f; background: linear-gradient(top, #4f5964 0%, #5f6975 40%); background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%); background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%); } nav ul li:hover a { color: #fff; } nav ul li a { display: block; padding: 25px 40px; color: #757575; text-decoration: none; } nav ul ul { background: #5f6975; border-radius: 0px; padding: 0; position: absolute; top: 100%; } nav ul ul li { float: none; border-top: 1px solid #6b727c; border-bottom: 1px solid #575f6a; position: relative; } nav ul ul li a { padding: 15px 40px; color: #fff; } nav ul ul li a:hover { background: #4b545f; } nav ul ul ul { position: absolute; left: 100%; top:0; } результат: информация отсюда: http://line25.com/tutorials/how-to-create-a-pure-css-dropdown-menu