увеличение блока
помогите пожалуйста с jquery создать блок, который плавно увеличится до размеров браузера, а потом будет изменятся в зависимости от размеров этого браузера и да нужно что бы размеры отображались в самом блоке, заранее спасибо)
|
Цитата:
|
:( угу
|
div по ширине и высоте видимой части окна
Mmorgan,
что такое размеры браузера, известно только вам ... вопрос знатокам, подскажите , как в данном примере выровнять текст по центру с помощью css. без вычисления в строке 37(вариант с flex ниже)
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body, html{
height: 100%;
padding: 0;
margin: 0;
}
.item.big{
background-color: #FF00FF;
transform: scale(1);
}
.item{
height: 100%;
transform: scale(0);
transform-origin: center;
transition: all 8s ease-in-out 1s;
color: #FFFFFF;
width: 100%;
text-align: center;
line-height: 100px;
font-size: 48px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $("<div class='item'></div>");
$("body").append(div).width();
$(window).resize(function() {
div.html([div.width(),div.height()].join(" x "))
.css({"line-height":div.height() +"px"})
}).resize();
div.addClass("big")
});
</script>
</head>
<body>
</body>
</html>
|
выравнивание текста по центру flex
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body, html{
height: 100%;
padding: 0;
margin: 0;
}
.item.big{
background-color: #FF00FF;
transform: scale(1);
}
.item{
height: 100%;
transform: scale(0);
transform-origin: center;
transition: all 8s ease-in-out 1s;
color: #FFFFFF;
width: 100%;
font-size: 48px;
display: flex;
justify-content: center;
align-items: center;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $("<div class='item'></div>");
$("body").append(div).width();
$(window).resize(function() {
div.html([div.width(),div.height()].join(" x "))
}).resize();
div.addClass("big")
});
</script>
</head>
<body>
</body>
</html>
|
рони,
Спасибо огромное, вы меня просто спасли, еще вопрос просто для уточнения, это ни как не сделать без Ajax? |
Цитата:
да, можно сделать тоже самое без jquery. (но это уже сами https://learn.javascript.ru/document) |
рони,
схожая проблема, может в курсе, у меня div растет с animate, до 700px, есть возможность вывести его размеры в реальном времени? то есть div увеличивает свои размеры и на протяжении всего его роста,выведенные размеры меняются, ну допустим с каким то адекватным интервалом? |
Цитата:
|
рони,
Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body, html{
height: 100%;
padding: 0;
margin: 0;
}
.item.big{
background-color: #FF00FF;
transform: scale(1);
}
.item{
height: 100%;
transform: scale(0);
transform-origin: center;
transition: all 8s ease-in-out 1s;
color: #FFFFFF;
width: 100%;
font-size: 48px;
position: relative;
}
.item span {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $("<div class='item'></div>");
$("body").append(div).width();
$(window).resize(function() {
div.html('<span>' + [div.width(),div.height()].join(" x ") + '</span>')
}).resize();
div.addClass("big")
});
</script>
</head>
<body>
</body>
</html>
|
destus,
спасибо, а просто текст можно отцентриировать по вертикали, без flex и дополнительных тегов? |
рони,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body, html{
height: 100%;
padding: 0;
margin: 0;
width: 100%;
display: table;
}
.item.big{
background-color: #FF00FF;
transform: scale(1);
}
.item{
height: 100%;
transform: scale(0);
transform-origin: center;
transition: all 8s ease-in-out 1s;
color: #FFFFFF;
width: 100%;
text-align: center;
display: table-cell;
vertical-align: middle;
font-size: 48px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $("<div class='item'></div>");
$("body").append(div).width();
$(window).resize(function() {
div.html([div.width(),div.height()].join(" x "))
}).resize();
div.addClass("big")
});
</script>
</head>
<body>
</body>
</html>
|
рони,
сори за тупость, но что то не выходит:blink: |
destus,
спасибо, сам пробовал с table-cell, но не догадался на body display: table; поставить :thanks: |
Smurf,
где код? |
рони,
я только учусь)) |
Smurf,
смотрите выше как сделаны примеры выше и попробуйте сделать также. Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
рони,
По примеру не выходит, так то делаю то же что и вы, немного более геморным способом, а инфы по этой функции для тупых почти нету, короче беда |
animate step
Smurf,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body, html{
height: 100%;
padding: 0;
margin: 0;
width: 100%;
}
.item{
top: 0;
left: 0;
right: 0;
bottom: 0;
position: fixed;
margin: auto;
width:0;
height: 0;
background-color: #FF00FF;
text-align: center;
font-size: 48px;
display: flex;
justify-content: center;
align-items: center;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $("<div class='item'></div>"),
timer, d = [0, 0];
$("body").append(div);
$(window).resize(function() {
window.clearTimeout(timer);
timer = window.setTimeout(function() {
var w = $(window).width(),
h = $(window).height();
div.stop().animate({
width: w,
height: h
}, {
duration: 12E3,
step: function(a, t) {
if (t.prop == "width") d[0] = a | 0;
if (t.prop == "height") d[1] = a | 0;
div.text(d.join(" x "))
}
})
}, 100)
}).resize()
});
</script>
</head>
<body>
</body>
</html>
|
рони,
Огромное, человеческое спасибо:thanks: буду разбираться |
| Часовой пояс GMT +3, время: 01:27. |