Archprokachka.ru

Арт Прокачка
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Adobe Photoshop

Дополнительное кадрирование, изменение размера, ресамплинг

С помощью Photoshop изменить размер фотографии и откадрировать ее можно несколькими способами. Для достижения наилучших результатов при кадрировании или изменении размера изображений следует понимать концепции, лежащие в основе методов изменения размера, и то, как изменение размера влияет на кадрирование.

Инструкции по изменению размера фотографии см. в статье Размер и разрешение изображения.

Инструкции по кадрированию фотографий см. в статье Кадрирование и выравнивание фотографий.

Размеры изображения на экране и при выводе на печать

Размер изображения при просмотре на экране отличается от его размера при печати. Если вы представляете эти различия, вы сможете лучше понять, какие настройки следует изменить при изменении размера изображения.

Размер экрана

Разрешение экрана монитора — это количество пикселей, которое он может отобразить. Например, монитор с разрешением экрана 640 x 480 пикселей отображает 640 пикселей в ширину и 480 пикселей в высоту. Можно использовать несколько различных разрешений экрана, а физический размер экрана монитора обычно определяет доступные разрешения. Например, большие мониторы обычно отображают более высокое разрешение, чем маленькие, поскольку они имеют больше пикселей.

Чтобы узнать разрешение экрана, выберите Пуск > Панель управления > Экран > Свойства и просмотрите разрешение экрана (Windows) или выберите Параметры системы > Экраны и посмотрите список Разрешения (macOS).

Размер изображения на экране

Когда изображения появляются на экране, они имеют фиксированный размер в пикселях. Разрешение экрана определяет размер изображения на экране. Например, монитор с разрешением 640 x 480 отображает меньше пикселей, чем монитор с разрешением 1024 x 768. Поэтому размер каждого пикселя, отображаемого на экране с разрешением 640 x 480, больше, чем размер пикселя, отображаемого на экране с разрешением 1024 x 768.

Изображение размером 100 x 100 пикселей занимает примерно одну шестую площади экрана с разрешением 640 x 480 и всего одну десятую площади экрана с разрешением 1024 x 768. Поэтому на экране с разрешением 1024 x 768 пикселей изображение выглядит меньше, чем на экране с разрешением 640 x 480 пикселей.

Размер изображения при печати

Другие значения, используемые для изменения размера изображений — физический размер изображения при печати и разрешение — не применятся до печати изображения. Тогда физический размер изображения, разрешение и размеры в пикселях определяют объем данных в изображении и его качество при печати. Как правило, более высокое разрешение изображения позволяет выполнить печать в более высоком качестве. Дополнительную информацию о разрешении и физическом размере см. в следующих разделах.

Диалоговое окно «Размер изображения»

При использовании диалогового окна Размер изображения для изменения размера изображения (выберите Изображение > Размер изображения) могут измениться четыре параметра изображения:

  • Размеры в пикселях: ширина и высота изображения.
  • Размер изображения, когда оно открыто в Photoshop: это значение появляется в верхней части диалогового окна.
  • Размер документа: физический размер изображения при печати, включая ширину и высоту.
  • Разрешение изображения при печати: это значение отображается в пикселях на дюйм или пикселях на сантиметр.

Photoshop вычисляет физический размер, разрешение и размеры изображения в пикселях следующим образом:

  • Физический размер = разрешения x размеры в пикселях
  • Разрешение = физический размер / размеры в пикселях
  • Размеры в пикселях = физический размер / разрешение

Диалоговое окно Размер изображения позволяет изменить размер изображения двумя способами. Можно увеличить или уменьшить объем данных в изображении (ресамплинг). Также можно сохранить тот же объем данных в изображении (изменение размера без ресамплинга). При ресамплинге качество изображения может ухудшиться в некоторой степени. Возможно, придется выполнить дополнительную работу, например, использовать фильтр Контурная резкость, чтобы увеличить резкость изображения и компенсировать ресамплинг.

Совет: для сброса диалогового окна Изменить размер изображения к его исходному состоянию нажмите клавишу Alt (Windows) или Option (macOS). При нажатии этих клавиш кнопка «Отмена» изменяется на кнопку «Сброс».

Изменение размера и ресамплинг изображений

При изменении размера и ресамплинге изображения изменяется объем данных в этом файле. Для ресамплинга изображения убедитесь, что выбран параметр Ресамплинг в нижней части диалогового окна Размер изображения. По умолчанию ресамплинг включен.

Ресамплинг изменяет общее количество пикселей в изображении, которые отображаются как ширина и высота в пикселях в диалоговом окне Размер изображения. При увеличении количества пикселей в этой части диалогового окна (повышение разрешения) приложение добавляет данные к изображению. При уменьшении количества пикселей (понижение разрешения) приложение удаляет данные. При каждом удалении или добавлении данных к изображению качество изображения ухудшается в некоторой степени. Удаление данных из изображения обычно является предпочтительным по отношению к добавлению данных. Это связано с тем, что при повышении разрешения Photoshop приходится «угадывать», какие пиксели необходимо добавить. Эта процедура более сложна, чем «угадывание» пикселей для удаления при понижении разрешения. Для получения наилучших результатов рекомендуется брать для работы в Photoshop изображения с разрешением, необходимым для вывода. Иногда желаемые результаты можно получить изменением размера изображения без ресамплинга. Однако, если вы делаете ресамплинг изображения, делайте его только один раз.

Читайте так же:
Полаир холодильное оборудование инструкция по настройке

При включении параметра Ресамплинг можно изменить любое значение в диалоговом окне Размер изображения: размеры в пикселях, физический размер или разрешение. Изменение одного значения влияет на другие. Размеры в пикселях изменяются в любом случае.

  • Изменение размеров в пикселях влияет на физический размер, но не на разрешение.
  • Изменение разрешения влияет на размеры в пикселях, но не на физический размер.
  • Изменение физического размера влияет на размеры в пикселях, но не на разрешение.

Вы не можете установить размер файла. Он изменяется при изменении общего объема данных в изображении (размер в пикселях). Обратите внимание на значение «Размер файла», прежде чем изменить любые другие значения в диалоговом окне. Информация о размере файла поможет понять, сколько данных удаляется или добавляется к изображению при ресамплинге. Например, если размер файла меняется с 250 кБ на 500 кБ, к изображению добавляется вдвое больше данных, что может привести к ухудшению изображения. Такие изображения могут выглядеть размытыми, неровными или зернистым.

Изменение размера изображения без ресамплинга

При изменении размера изображения без ресамплинга изменяется размер изображения без изменения объема данных в нем. Изменение размера без ресамплинга изменяет физический размер изображения без изменения размеров изображения в пикселях. Данные не добавляются и не удаляются из изображения. При снятии флажка или деактивации параметра Ресамплинг поля размеров в пикселях недоступны. Два значения, которые можно изменить — это физический размер (ширина и высота в размере документа) или разрешение (пикселей/дюйм). При изменении размера без ресамплинга можно установить физический размер или разрешение изображения. Чтобы сохранить общее количество пикселей в изображении, Photoshop компенсирует измененное значение увеличением или уменьшением другого значения. Например, при установке физического размера, Photoshop меняет разрешение.

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

Например, изображение размером 400 x 400 пикселей имеет физический размер 4 x 4 дюйма и разрешение 100 пикселей на дюйм (ppi). Для уменьшения физического размера изображения на половину без ресамплинга можно задать физический размер 2 x 2 дюйма. Photoshop увеличит разрешение до 200 пикселей на дюйм. Изменение размера изображения таким образом оставляет общее количество пикселей неизменным (200 пикселей на дюйм x 2 x 2 дюйма = 400 x 400 пикселей). При увеличении физического размера вдвое (до 8 x 8 дюймов) разрешение уменьшается до 50 пикселей на дюйм. Добавление дюймов к размеру изображения означает, что теперь в дюйме может быть вдове меньше пикселей. При изменении разрешения изображения, физический размер также изменяется.

Важно. Размеры в пикселях регулируют объем данных, а разрешение и физический размер используются только для печати.

Примечание. Пиксели на дюйм (ppi) — это количество пикселей в каждом дюйме изображения. Количество точек на дюйм (dpi) относится только к принтерам и отличается в зависимости от принтера. Как правило, оно составляет от 2,5 до 3 точек краски на пиксель. Например, принтеру со значением 600 точек на дюйм необходимо изображение со значением от 150 до 300 пикселей на дюйм для наилучшего качества печати.

Дополнительные сведения о параметрах в диалоговом окне Размер изображения см. в разделе Размеры в пикселях и разрешение печатного изображения в справке Photoshop.

Читайте так же:
Как указывать длину ширину и высоту правильно

Использование инструмента «Кадрирование»

При использовании инструмента «Кадрирование» для изменения размера изображения размеры изображения в пикселях и размер файла изменяются, но ресамплинг изображения не выполняется. При использовании инструмента «Кадрирование» размеры в пикселях и разрешение включают больше пикселей на дюйм на основе размера области кадрирования. Однако Photoshop специально не добавляет и не удаляет данные из изображения.

При кадрировании изображения данные удаляются или добавляются из исходного изображения или к нему, чтобы создать другое изображение. Поскольку данные удаляются или добавляются относительно исходного изображения, ресамплинг теряет свое значение. Это связано с тем, что количество пикселей на дюйм может отличаться в зависимости от количества пикселей в области фрагмента кадрирования. Если количество пикселей в области кадрирования позволяет, Photoshop пытается сохранить разрешение исходного изображения. Этот метод считается кадрированием без ресамплинга. Однако, если количество пикселей выбрано неточно, размеры в пикселях и размер файла изменяются в новом изображении.

Параметры инструмента «Кадрирование»

Набор параметров, доступных на панели параметров инструмента «Кадрирование» изменится после выбора области. При первом выборе инструмента «Кадрирование» можно задать значения высоты и ширины, а также разрешение. Высоту и ширину можно измерять в дюймах, сантиметрах, миллиметрах, точках и пайках. Введите единицу измерения или ее сокращение после числа в поле значения. Например, 100 пикселей, 1 дюйм, 1 д, 10 см, 200 мм, 100 точек или 100 паек.Если не указать единицы измерения ширины и высоты на панели кадрирования, по умолчанию используются дюймы.

Можно также установить значение разрешения кадрированного изображения в поле Разрешение. Выберите пиксели/дюйм или пиксели/см во всплывающем меню.

Дополнительные сведения о параметрах инструмента «Кадрирование» см. в разделе Кадрирование и выравнивание изображений.

Изменение только размера в дюймах

Если изменить физический размер изображения в дюймах в параметрах инструмента «Кадрирование» и не изменять разрешение, размеры в пикселях изменяются. Размеры изменяются в зависимости от пропорций количества пикселей в области кадрирования к размеру в пикселях исходного изображения. Разрешение изменяется, чтобы добавить дополнительные пиксели в каждый дюйм изображения на основе исходного размера изображения.

Примечание. Параметры исходного изображения, используемого в примерах ниже: 4 x 4 дюйма, 100 пикселей на дюйм, 400 x 400 пикселей, 468,8 кБ.

Правильное измерение чемодана

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

Измеряем чемодан

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

Процедура измерения чемодана:

1. Устанавливаем багажное изделие на пол или на стол.
2. Начинаем измерять с крайней нижней точки, включая колеса, и двигаемся вверх, до ручки, которая находиться в сложенном состоянии. Таким образом, получаем высоту изделия.
3. Глубину и ширину измеряем по всем выдающимся частям чемодана.

В итоге у нас получаются три показателя. Например: 55 см высота, 40 см ширина, 20 см глубина. Если суммировать эти три замера, мы получим цифру 115. Это значит, что следующий чемодан стоит покупать такого размера, так как именно эти параметры являются оптимальными для данного багажного аксессуара.

Особое внимание обращаем на исчисление объема чемодана. Некоторые производители указывают его из расчета внешних показателей, а некоторые – внутренних. Величину объема получаем, перемножив все замеры между собой. Например, чемодан с параметрами 55/40/20 будет объемом 44 литра.

Размеры чемоданов:

• Маленький, для ручной клади имеет высоту до 60 см. А сумма всех трех показателей не должна быть больше 115 см. Объем такого дорожного аксессуара достигает 50 литров.
• Средний, высотой до 80 см. Чемодан может быть объемом до 90 литров. Такие параметры являются самыми оптимальными для поездок. Багажные аксессуары с такими показателями пользуются большой популярностью у покупателей.
• Большой – высота до 80 см. Если сумма показателей такого чемодана будет превышать 158 см, тогда существует риск, что его не разместят в багажное отделение самолета. Но он идеально подойдет для автомобильных и железнодорожных путешествий. Объем составляет до 120 литров.
• Супер габаритный чемодан может иметь высоту от 80 см и объем до 180 литров. В самолет с таким «гигантом» вряд ли попадешь, но в морской круиз или кругосветное путешествие лучше дорожного аксессуара не найдешь.

Читайте так же:
Холл и коридор

Зная, как измерить чемодан правильно, можно без труда подобрать себе надежного «попутчика» оптимальных размеров. В этом случае не придется переплачивать лишние деньги за превышение дозволенных авиакомпаниями норм провоза бесплатного багажа. При этом все необходимые в дороге вещи благополучно будут упакованы в новенький багажный аксессуар.

Нанесение размеров на чертежах деталей

Ларионова Елена Владимировна

Иркутский авиационный техникум

Нанесение размеров на чертеже является основным фактором, определяющих качество изделия. Основные правила нанесения размеров на чертежах устанавливает ГОСТ 2.307 – 68. Изготовление детали и её контроль производится по размерам, указанным на чертеже. Ошибочный или пропущенный размер делает чертёж непригодным к использованию или может привести к браку при изготовлении детали.

При выполнении эскизов и рабочих чертежей деталей вопрос о нанесении размеров включает в себя решение трёх основных задач:

  1. Правильно назначить размеры, т.е. установить минимальное количество размеров на чертеже детали, необходимых для её изготовления. При этом необходимо правильно определить (выбрать) базы, от которых должны быть нанесены размеры на чертеже, с учётом технологии изготовления детали и обеспечения нормальной её работы в механизме.
  2. Разместить и нанести выносные и размерные линии таким образом, чтобы размеры были наиболее удобны для чтения.
  3. Выявить сопряжённые и свободные размеры и нанести размерные числа.

При нанесении размеров на чертеже детали со сложным внешним и внутренним контуром необходимо группировать отдельно, там, где это возможно, размеры, относящиеся к внутреннему контуру, — со стороны разреза, а размеры, относящиеся к внешнему контуру, — со стороны вида (Рисунок 1) .

Размеры на чертеже делятся на три группы:

  1. Габаритные (длина, высота, ширина);
  2. Элементы детали;
  3. Размеры, определяющие положение элементов детали (расстояния между центрами отверстий, от торцов и кромок до центров отверстий, от торцов и кромок до стенок прорезей, канавок, проточек и т.д.).

Простановка размеров любых деталей (вне зависимости от технологии их изготовления) осуществляется относительно баз. В машиностроении существует достаточно много видов баз: конструкторские, технологические, измерительные, установочные, ремонтные и т. п.

Нужно применять конструкторскую базу, которую в дальнейшем для сокращения называют просто «базой».

Базой называется геометрическое место точек (плоскость, ось, точка пересечения осей и т. п.), относительно которого координируются элементы детали.

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

Положение отдельных элементов детали относительно базы задается размерами. Совокупность размеров образу­ет размерную цепь, а отдельные размеры являются ее звеньями.

При конструировании детали применяют три способа простановки размеров на чертеже:

  1. Цепной (последовательная размерная цепь)
  2. Координатный (параллельная размерная цепь)
  3. Комбинированный (сочетание последовательной и параллельной цепей)

Последовательная размерная цепь – все размеры проставляются последовательно, по одной линии, цепочкой один за одним.Суть ее заключается в том, что, начиная от базы, размеры ставятся друг за другом последовательно (Рисунок 2).

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

Читайте так же:
Деревянный трон своими руками

Справочный размер – размер, не подлежащий выполнению по данному чертежу и указанный для большего удобства пользования чертежом. На чертеже отмечается знаком « » и в технических требованиях записывают — Размер для справок

Параллельная размерная цепь — размеры проставляются от единой базы.

Такую простановку размеров называют координатной, поскольку, таким образом, задаются координаты каждого элемента относительно базы.

Этим способом положение каждого звена определяется максимально точно, однако такая размерная цепь нетехнологична. Её нетехнологичность заключается в следующем: при обработке правой части детали на токарном станке вопросов не возникнет, т.к. патрон станка располагается слева. Для обработки левой части детали необходимо переустановить заготовку, при этом база, относительно которой должен проводиться отсчет размеров, окажется внутри патрона, и никакие привязки к ней произвести уже нельзя. Поэтому в производстве такая размерная цепь применяется тоже весьма редко.

Комбинированная размерная цепь – сочетание последовательной и параллельной размерных цепей.

Именно такая цепь и используется в чертежах. В этом случае, помимо основных баз используются вспомогательные, от которых удобно наносить и контролировать размеры.

Элементы детали координируются относительно главной или одной из вспомогательных баз, а вспомогательные базы координируются относительно главной.

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

Правило 1. Не должно быть замкнутых размерных цепей.

Цепь называется замкнутой, когда одно из ее звеньев равно сумме всех других. Какое-то звено в этой цепи лишнее, и от него просто избавляются. Размер, отсутствующий в размерной цепи, называется свободным.

Однако свободным можно сделать не любой размер. На этот счет тоже существует определенное правило:

В качестве свободного размера выбирается протяженность самого большого по габаритам элемента детали на наружной поверхности и самого маленького по габаритам элемента внутренней поверхности.

Пример простановки размеров в соответствии с этими правилами показан на рисунке 6.

Рассмотрим процесс изготовления детали на токарном станке. Диаметр заготовки совпадает с наибольшим наружным диаметром детали. Центральное отверстие минимального диаметра получается сверлением заготовки насквозь. Остальной металл внутри заготовки удаляется от разных баз с помощью резцов. Перемещения этих резцов и задаются размерами детали. Для воспроизведения внешней формы детали не требуется самый большой размер на внешней поверхности. При обработке внешней поверхности резцом удаляется металл до необходимых меньших диаметров. Поэтому длины этих диаметров задаются линейными размерами на чертеже.

Правило 2. В чертежах проставляется размер проточки и расстояние от базы до ее дальнего края.

Пример нанесения размеров от баз.

При соединении на чертеже вида с разрезом размеры, относящиеся к внутренней поверхности детали, располагают со стороны разреза, а к наружной – со стороны вида. База А является основной.

При изготовлении детали заготовку сначала протачивают снаружи до диаметра d1на длину l1 от базы А. Затем до диаметра d2 на длину l2от вспомогательной базы Б. Проточку диаметром d3 и шириной n выполняют резцом, у которого режущая часть имеет ту же ширину.

При обработке внутренней поверхности детали вначале просверливают сквозное отверстие диаметром d4. Затем от основной базы А детали растачивают до диаметра d5 на длину l3. Проточку диаметром d6выполняют резцом шириной n1 . Далее деталь подрезают слева по длине l.

Кроме основной базы А используются вспомогательные базы – базы Б и В.

Пример нанесения размеров на механически обработанную деталь

При нанесении размеров на чертеже использованы и некоторые другие условности в простановке размеров. С учетом формы детали для выполнения ее чертежа будет вполне достаточно формата А4. Если при вертикальном расположении формата А4 чертить деталь с горизонтальным расположением оси, то она получится очень маленькой, и негде будет разместить размеры. Поэтому для формата А4 допускается вертикальное расположение деталей вращения.

Размеры и прокрутка окна

Как узнать ширину и высоту окна браузера? Как получить полную ширину и высоту документа, включая прокрученную часть? Как прокрутить страницу с помощью JavaScript?

Для большинства таких запросов мы можем использовать корневой элемент документа document.documentElement , который соответствует тегу <html> . Однако есть дополнительные методы и особенности, которые необходимо учитывать.

Читайте так же:
Как нарисовать подушку

Ширина/высота окна

Чтобы получить ширину/высоту окна, можно взять свойства clientWidth/clientHeight из document.documentElement :

Например, эта кнопка показывает высоту вашего окна:

Браузеры также поддерживают свойства window.innerWidth/innerHeight . Вроде бы, похоже на то, что нам нужно. Почему же не использовать их?

Если есть полоса прокрутки, и она занимает какое-то место, то свойства clientWidth/clientHeight указывают на ширину/высоту документа без неё (за её вычетом). Иными словами, они возвращают высоту/ширину видимой части документа, доступной для содержимого.

А window.innerWidth/innerHeight включают в себя полосу прокрутки.

Если полоса прокрутки занимает некоторое место, то эти две строки выведут разные значения:

В большинстве случаев нам нужна доступная ширина окна: для рисования или позиционирования. Полоса прокрутки «отъедает» её часть. Поэтому следует использовать documentElement.clientHeight/Width .

Обратите внимание, что геометрические свойства верхнего уровня могут работать немного иначе, если в HTML нет <!DOCTYPE HTML> . Возможны странности.

В современном HTML мы всегда должны указывать DOCTYPE .

Ширина/высота документа

Теоретически, т.к. корневым элементом документа является documentElement , и он включает в себя всё содержимое, мы можем получить полный размер документа как documentElement.scrollWidth/scrollHeight .

Но именно на этом элементе, для страницы в целом, эти свойства работают не так, как предполагается. В Chrome/Safari/Opera, если нет прокрутки, то documentElement.scrollHeight может быть даже меньше, чем documentElement.clientHeight ! С точки зрения элемента это невозможная ситуация.

Чтобы надёжно получить полную высоту документа, нам следует взять максимальное из этих свойств:

Почему? Лучше не спрашивайте. Эти несоответствия идут с древних времён. Глубокой логики здесь нет.

Получение текущей прокрутки

Обычные элементы хранят текущее состояние прокрутки в elem.scrollLeft/scrollTop .

Что же со страницей? В большинстве браузеров мы можем обратиться к documentElement.scrollLeft/Top , за исключением основанных на старом WebKit (Safari), где есть ошибка (5991), и там нужно использовать document.body вместо document.documentElement .

К счастью, нам совсем не обязательно запоминать эти особенности, потому что текущую прокрутку можно прочитать из свойств window.pageXOffset/pageYOffset :

Эти свойства доступны только для чтения.

Прокрутка: scrollTo, scrollBy, scrollIntoView

Для прокрутки страницы из JavaScript её DOM должен быть полностью построен.

Например, если мы попытаемся прокрутить страницу из скрипта в <head> , это не сработает.

Обычные элементы можно прокручивать, изменяя scrollTop/scrollLeft .

Мы можем сделать то же самое для страницы в целом, используя document.documentElement.scrollTop/Left (кроме основанных на старом WebKit (Safari), где, как сказано выше, document.body.scrollTop/Left ).

Есть и другие способы, в которых подобных несовместимостей нет: специальные методы window.scrollBy(x,y) и window.scrollTo(pageX,pageY) .

Метод scrollBy(x,y) прокручивает страницу относительно её текущего положения. Например, scrollBy(0,10) прокручивает страницу на 10px вниз.

Кнопка ниже демонстрирует это:

Метод scrollTo(pageX,pageY) прокручивает страницу на абсолютные координаты (pageX,pageY) . То есть, чтобы левый-верхний угол видимой части страницы имел данные координаты относительно левого верхнего угла документа. Это всё равно, что поставить scrollLeft/scrollTop . Для прокрутки в самое начало мы можем использовать scrollTo(0,0) .

Эти методы одинаково работают для всех браузеров.

scrollIntoView

Для полноты картины давайте рассмотрим ещё один метод: elem.scrollIntoView(top).

Вызов elem.scrollIntoView(top) прокручивает страницу, чтобы elem оказался вверху. У него есть один аргумент:

  • если top=true (по умолчанию), то страница будет прокручена, чтобы elem появился в верхней части окна. Верхний край элемента совмещён с верхней частью окна.
  • если top=false , то страница будет прокручена, чтобы elem появился внизу. Нижний край элемента будет совмещён с нижним краем окна.

Кнопка ниже прокрутит страницу так, что она сама окажется вверху:

А следующая кнопка прокрутит страницу так, что она сама окажется внизу

Запретить прокрутку

Иногда нам нужно сделать документ «непрокручиваемым». Например, при показе большого диалогового окна над документом – чтобы посетитель мог прокручивать это окно, но не документ.

Чтобы запретить прокрутку страницы, достаточно установить document.body.style.overflow = "hidden" .

Первая кнопка останавливает прокрутку, вторая возобновляет её.

Аналогичным образом мы можем «заморозить» прокрутку для других элементов, а не только для document.body .

Недостатком этого способа является то, что сама полоса прокрутки исчезает. Если она занимала некоторую ширину, то теперь эта ширина освободится, и содержимое страницы расширится, текст «прыгнет», заняв освободившееся место.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector