У меня есть родительский div, содержащий изображение с кучей «дыр» в нем. У меня есть дочерний div для каждого отверстия, который определяет точный размер этих отверстий. В отверстиях у меня есть текст, который я установил в положение: абсолютное, чтобы они точно входили в отверстия. Однако, когда я изменяю размер родительского div, содержимое не масштабируется вообще, и они остаются одинакового размера. Они также не находятся внутри отверстий.Как масштабировать содержимое div с помощью div?
ответ
пользователя «%» в качестве единицы вместо пиксела
<div id="ParentDiv">
<img src="../610614-spring-forest.jpg">
<div class="hole1">Tree1</div>
</div>
#ParentDiv{
max-width:900px;
position: relative;
}
img{
width: 100%;
height: auto;
}
.hole1{
position: absolute;
left:2.75%;
top:23.87%;
}
Вы можете использовать ВЭкран Hieght или ВЭкран Ширин блок для этого случая. Ниже приведен пример того, как вы могли бы использовать.
#ParentDiv{
max-width:100vw;
max-height:100vh;
position: relative;
}
img{
width: 100%;
height: auto;
}
.hole1{
position: absolute;
/*left:2.75%;
top:23.87%;*/
left:2.75vw;
top:23.87vh;
}
Попытайтесь использовать похожие, надейтесь, что вы получите желаемый результат.
Я могу использовать%, чтобы определить, где проходит дыра, но как определить, насколько она велика. Если я увеличиваю размер родительского div, отверстия также увеличатся. Кроме того, размер родительского div зависит от размера окна, поэтому я должен использовать как 100% вместо пикселей. – user6432770
В этом случае мы можем использовать высоту порта просмотра или узел ширины порта View, т. Е. Max-width: 100vw; vw = ширина видового экрана, vh = высота видового экрана, используйте его вместо пикселя и процента. 100Vw = 100% ширина, т.е. ширина всего видимого экрана. –
Вы можете использовать свойство CSS, называемое transform
, вместо прямого изменения размера.
Если вам необходимо установить размер изображения:
// this is the container the image and its text is in
imageContainer = document.getElementById('myDiv');
// original size of image
origX = 400;
origY = 300;
// size you need it to change to
newX = 800;
newY = 600;
/*
Tells CSS to stretch from the top-left edge of the object, so it won't stretch off the left side of the screen
Best way to change value would be percentages
Value of '0 0' sets origin to top-left
Value of '100% 100%' sets origin to bottom-right
*/
imageContainer.style.transformOrigin = '0 0';
//the following is just one string, broken into multiple lines for easy explanation
// tells CSS that the transform type is scale
imageContainer.style.transform = 'scale(' +
// tells CSS how many times normal size to widen image. in this case evaluates to 2, since 800/400 is 2, making image 2x wider
(newX/origX) + ',' +
// tells CSS how many times normal size to heighten image. in this case evaluates to 2, since 600/300 is 2, making image 2x taller
(newY/origY) + ')';
Предполагая, что у вас нет каких-либо серьезных производительности подрывающих функции, это будет работать отлично. Это немного медленнее, если у вас много вещей.
незакомментированной:
imageContainer = document.getElementById('myDiv');
origX = 400;
origY = 300;
newX = 800;
newY = 600;
imageContainer.style.transformOrigin = '0 0';
imageContainer.style.transform = 'scale(' + (newX/origX) + ',' (newY/origY) + ')';
- 1. Масштабировать содержимое div на процент?
- 2. Масштабировать div в CSS
- 3. Как пропорционально масштабировать div с изображениями внутри?
- 4. Как масштабировать div, содержащий текст?
- 5. Как сменить div Содержимое с несколькими div?
- 6. DIV заменяемого содержимое DIV
- 7. Как изменить содержимое div с помощью javascript
- 8. Как обновить содержимое DIV с помощью JQuery?
- 9. Как удалить содержимое div с помощью jQuery
- 10. как получить содержимое DIV с помощью JavaScript
- 11. Как изменить содержимое div с помощью javascript?
- 12. Как изменить содержимое div с помощью ссылки?
- 13. Как распечатать содержимое div с помощью jquery
- 14. Как очистить содержимое div с помощью JavaScript?
- 15. Как очистить содержимое div с помощью ICheck.js?
- 16. замените содержимое div с нажатым div-содержимым с помощью jquery
- 17. как клонировать содержимое div в другой div
- 18. Как удалить содержимое div
- 19. Как обновить содержимое DIV?
- 20. Как я могу масштабировать содержимое div с его размером с помощью Javascript?
- 21. Div перезаписывает другое содержимое div
- 22. Получите содержимое div в div с помощью BeautifulSoup?
- 23. Изменить содержимое div, когда div содержит div
- 24. Как масштабировать содержимое QGraphicsView с помощью QPinchGesture?
- 25. Содержимое клипа внутри div с другим div
- 26. Как отобразить содержимое DIV в другом DIV
- 27. как скопировать содержимое div в другой div
- 28. Как центрировать содержимое div
- 29. как заполнить содержимое div до правого div?
- 30. Как обновить содержимое DIV (например, cart DIV)
Какие ценности вы используете для позиционирования (например, сверху, слева и т.д.) и какой тип размера для вашего текста? – Siavas
Используете ли вы пиксели для установки ширины/позиции или процентов? Кроме того, больше кода было бы полезно – dunnmifflsys
Я использую пиксели, чтобы установить ширину и высоту дочерних div. Я также использую transform/translate, чтобы переместить дочерние divs в отверстия. – user6432770