Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/65: Рейтинг темы: голосов - 65, средняя оценка - 4.71
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
1

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

05.06.2014, 19:05. Показов 13549. Ответов 13
Метки нет (Все метки)

Новое окно создается вот таким кодом:
HTML5
1
<a href="#" onClick="winObj = window.open ('/my-files/st/st-clic.php', 'myWin','status=no, titlebar=no, toolbar=no, scrollbars=no, menubar=no, location=no'); winObj.focus (); return false"><img src="/88-31.gif" width="88" height="31"></a>
Но при этом оно упирается в правый край экрана и занимает его весь по вертикали.

Не пойму, как средствами CSS задать размер экрана по ширине и высоте, и разместить его по середине?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2014, 19:05
Ответы с готовыми решениями:

Как получить размеры и положение всего окна?
Не рабочей области, а именно целиком.

Как задать размеры нового окна при переходе по ссылке?
Доброго времени суток! Помогите!!! Стоит задача: по клику во флеше вызвать новое окно (по ссылке)...

Как установить размеры окна?
Здравствуйте, как установить размеры главного окна ? Любого , MainWindow к nримеру

Как установить размеры окна программно?
Как установить размеры окна MainWindow (QMainWindow) программно?

13
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 19:10 2
примерно так
CSS
1
2
3
4
5
6
7
8
.window {
  width: 500px;
  height: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -250px 0px 0px -150px;
}
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 19:20  [ТС] 3
На результат не повлияло совершенно...
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 19:21 4
потому что я не вижу вашего кода, и просто привел пример, вам нужно вписать ваш класс
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 19:32  [ТС] 5
Цитата Сообщение от kvant355 Посмотреть сообщение
я не вижу вашего кода
В теме приведен полный код.

Что там вписать?
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 19:39 6
я скопировал целиком ваш код, сохранил в html файле, при нажатии на ссылку у меня просто создается новое окно браузера

Добавлено через 2 минуты
как я понимаю, окно создает скрипт, которого как раз и нет. Вы предоставили просто ссылку
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 20:02  [ТС] 7
Цитата Сообщение от kvant355 Посмотреть сообщение
окно создает скрипт, которого как раз и нет
Я предположил, что код окна определяет его содержимое и не повлияет на его положение.
Код скрипта st-clic.php:

PHP
1
2
3
4
5
echo '<table border="1" width="200" bgcolor="#FF00FF">
    <tr>
        <td>Проба</td>
    </tr>
</table>';
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 20:19 8
код для st-click.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>  
  <head>  
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">  
    
    <style>
     .window {
  width: 500px;
  height: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -250px 0px 0px -150px;
}
    </style>
<title>Document</title>
<?php
echo '<table border="1" width="200" bgcolor="#FF00FF" class="window">
    <tr>
        <td>Проба</td>
    </tr>
</table>';
?>
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 20:43  [ТС] 9
Эти изменения повлияли на положение таблицы внутри окна, но само окно осталось тем же самым - смещенным вправо и уходящим вниз за пределы экрана.
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 21:08 10
теперь я кажется понял чего вы хотите добиться
можно попробовать скриптом
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script type="text/javascript">
var w = 600; // ширина окна
var h = 300; // высота окна
function detectSize(){
var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
winH = window.innerHeight;
}
return [winW,winH];
}
var size=detectSize();
if(size[0] != w || size[1] != h){
var url=window.location.href;
window.open ( url, "new_window", "width = " + w + ", height = " + h);
window.close();
}
</script>
Добавлено через 3 минуты
либо попробуйте так


HTML5
1
2
3
    
 
<a href="#" onClick="winObj = window.open ('/my-files/st/st-clic.php', 'myWin','status=no, titlebar=no, toolbar=no, scrollbars=no, menubar=no, location=no, Width=500, Height=270'); winObj.focus (); return false"><img src="/88-31.gif" width="88" height="31"></a>
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 21:19  [ТС] 11
Второй вариант работает - это я знал с самого начала. Но нюанс в том, что в этом случае заданы размеры в пикселях, а потому на разных мониторах окно прыгает по экрану. Собственно, по этой причине я и написал в теме, что настройки нужны средствами CSS, чтобы их можно было выразить в процентах.

Сам сайт имеет резиновую верстку и прекрасно адаптируется к монитору любой ширины. Можно ли также сбалансировать это открывающееся окно, задав его параметры в процентах?
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 349
05.06.2014, 21:29 12
у меня когда то тоже была такая проблема, помню что процентное число должно быть большим, примерно так попробуйте
HTML5
1
<a href="#" onClick="winObj = window.open ('/my-files/st/st-clic.php', 'myWin','status=no, titlebar=no, toolbar=no, scrollbars=no, menubar=no, location=no, Width=400%, Height=400%, top=150%, left=350%'); winObj.focus (); return false"><img src="/88-31.gif" width="88" height="31"></a>
0
151 / 15 / 4
Регистрация: 21.02.2009
Сообщений: 2,222
05.06.2014, 21:35  [ТС] 13
Добавление знака "%" ничего не меняет. Мне кажется, браузер в этом коде этот знак игнорирует.

То есть,
HTML5
1
Width=400, Height=400, top=150, left=350
и
HTML5
1
Width=400%, Height=400%, top=150%, left=350%
смотрится одинаково.
0
Эксперт JSЭксперт HTML/CSS
2430 / 1109 / 310
Регистрация: 23.06.2011
Сообщений: 3,490
05.06.2014, 21:54 14
Влад у тебя нет размеров и координат окна, их нужно дописать, а потом скриптом пересчитывать и центрировать окно
это скан как есть, неправленый, тут про окна, расковыривай явные ошибки
расписаны модальные и не модальные окна
Кликните здесь для просмотра всего текста
2.5.1.Создание новых окон



Главное окно браузера создается не с помощью сценариев, а автоматически, когда

пользователь запускает браузер, а также при открытии документа с определен-

ным URL-адресом или другого файла.В HTML открыть документ в новом окне

можно с помощью атрибута TARGET тега ссылки <А H R E F =...>.Например, <А H R E F

= "http://www.rambler.ru" TARGET = "newWindow" > Rumbler</A>.



С помощью сценария можно создать любое количество окон.Для этого применя-

ется метод ореп() :

w i n d o w.o p e n ( [ п а р а м е т р ы ] )

Этому методу передаются следующие необязательные параметры :



• адрес документа, который нужно загрузить в создаваемое окно;



• имя окна (как имя переменной);



• строка описания свойств окна (features).



В строке свойств записываются пары свойство=значение , которые отделяются друг

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

в строке features.Значения yes и по можно заменить числовыми эквивалентами

1 и 0 соответственно.



Таблица 2.2.Свойства окна, передаваемые в строке features



Свойство Значения Описание



channel mode yes, no, l, 0 Показывает элементы управления Channel



directories yes, no, 1, 0 Включает кнопки каталога



fullscreen yes , no, 1, 0 Полностью разворачивает окно



height Число Высота окна в пикселах



left Число Положение по горизонтали относительно левого края экрана

в пикселах



location yes, no, 1, 0 Текстовое поле Address



menubar yes, no, 1, 0 Стандартные меню браузера



resizeable yes, no, 1, 0 Может ли пользователь изменять размер окна



scrollbars yes , no, 1, 0 Горизонтальная и вертикальная полосы прокрутки



status yes, no, 1, 0 Стандартная строка состояния продолжение &


-- Page 145--

142 Глава 2.Основы создания сценариев



Таблица 2.2 (продолжение)

Свойство Значения Описание



toolbar yes, no, \, 0 Включает панели инструментов браузера

top Число Положение по вертикали относительно верхнего края экрана

в пикселах

width Число Ширина окна в пикселах



Примеры

window.open("mypage.htm","NewWin" , "height=150 , width=300" )

w i n d o w.o p e n ( " m y p a g e.h t m " )



strfeatures = "top=100,left=15,width=400 , height=200 , location=no ,

menubar=no"

w i n d o w.o p e n ( " w w w.a d m i r a l.r u / ~ d u n a e v " , "Са м себ е веб-дизайнер" ,

strfeatures )

Вместо третьего параметра (строки features) можно использовать значение true.

В этом случае указанный документ загружается в уже существующее окно, вы-

тесняя предыдущий.Например, window.open("mypage.htm","NewWin" , true).



Метод window.open( ) возвращает ссылку на объект окна.Эту ссылку можно сохра-

нить в переменной, чтобы потом использовать, например при закрытии окна.



Для закрытия окна служит метод close().Однако выражения window.close() или

self.dose() закрывают главное окно, а не дополнительное, которое вы создали ме-

тодом ореп().В этом случае как раз и необходима ссылка на созданное окно.Эту

ссылку следует сохранить в глобальной переменной, чтобы иметь доступ к ней до

тех пор, пока главный документ загружен в браузер.Вот пример:

va r objwi n = w i n d o w.o p e n ( " m y p a g e.h t m " , " М о я страница" )

o b j w i n.c l o s e ( )

Метод window.open () открывает новое независимое окно как экземпляр браузера.

В этом случае при закрытии главного окна браузера новое окно остается откры-

тым.Независимые окна называют еще немодальными (modalless).Однако можно

создать и так называемое модальное окно.Пока открыто модальное окно, пользо-

ватель не может обратиться к другим окнам, в том числе и к главному.Так обыч-

но работают стандартные диалоговые окна.Например, окна, создаваемые метода-

ми alert(), prompt() и confirm() , являются модальными.В модальное окно можно

загрузить любой документ.



Для создания модального окна используется метод showModalDialog().Так же, как

и метод open() , он принимает в качестве параметров адрес документа (файла), имя

окна и строку свойств.Однако формат этой строки другой.В частности, парамет-

ры в строке разделяются точкой с запятой, размеры окна и координаты его верх-

него левого угла требуют указания единиц измерения (например, рх — пикселы).

Кроме того, этот метод не возвращает ссылку на объект окна, поскольку она не

нужна для модального окна.



В табл.2.3 приведен список свойств окна, созданного методом showModalDialog() ,

передаваемых в строке features.


-- Page 146--

2.5.Работа с окнами и фреймами 143



Таблица 2.3.Свойства окна, созданного методом showModalDialog()

Свойство Значения Описание



order thick, thin Размер рамки вокруг окна

(толстая/тонкая)



center yes, no (1, 0) Выравнивание окна по центру главного



dialogHeight Число + единицы измерения Высота окна



dilalogLeft Число + единицы измерения Горизонтальная координата

dialogTop Число + единицы измерения Вертикальная координата

dialogWidth Число + единицы измерения Ширина окна



font Строка таблицы стилей Стиль, определенный по умолчанию

для окна



font-family Строка таблицы стилей Вид шрифта, определенный по умолчанию

для окна

font-size Строка таблицы стилей Размер шрифта, определенный

по умолчанию для окна

font-style Строка таблицы стилей Тип шрифта, определенный по умолчанию

для окна



font-variant Строка таблицы стилей Вариант шрифта (обычный/курсив),

определенный по умолчанию для окна



font-weight Строка таблицы стилей Толщина шрифта, определенная

по умолчанию для окна



help yes , no, 1, О Включение кнопки Help в верхнюю панель



maximize yes, no, 1, 0 Включение кнопки Maximize в верхнюю

панель



minimize yes, no, 1, 0 Включение кнопки Minimize в верхнюю

панель
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2014, 21:54

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как получить размеры клиентской области окна-родителя в функции дочернего окна?
задание такое: имеется дочернее окно,которое &quot;убегает&quot; от курсора мыши в пределах родительского...

Как установить размеры comboBox
Подскажите как сделать что бы comboBox не выходил за приделы программы?

Как установить курсор в нужное положение?
Я так понимаю в GraphABC нет ни процедуры ни функции для этого. Как тогда с помощью .net это...

Как узнать размеры окна?
Есть такой код в конструкторе главного окна: QPushButton *but = new QPushButton(&quot;Кнопка&quot;, this); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.