Ответ 1
yourbox{
position:absolute;
right:<x>px;
top :<x>px;
}
позиционирует его в правом углу. Обратите внимание, что позиция зависит от первого элемента-предка, который не расположен static
!
EDIT:
У меня есть страница, на которой должно отображаться динамическое окно сообщения, не нарушая фактическую страницу. Это окно сообщения должно появиться в верхнем правом углу страницы, перекрывающей существующее содержимое.
Я пытался использовать position: absolute
, но тогда я не могу разместить его в правом углу. Также я не могу использовать left
, так как я должен поддерживать отзывчивый дизайн из Bootstrap.
Вот пример разметки
<html>
<body>
<div class="container">
<!-- Need to place this div at the top right of the page-->
<div class="ajax-message">
<div class="row">
<div class="span9">
<div class="alert">
<a class="close icon icon-remove"></a>
<div class="message-content">
Some message goes here
</div>
</div>
</div>
</div>
</div>
<!-- Page contents starts here. These are dynamic-->
<div class="row">
<div class="span12 inner-col">
<h2>Documents</h2>
</div>
</div>
</div>
</body>
</html>
Это поле сообщения должно иметь ширину 50%
относительно .container
, а левая сторона окна сообщения не должна перекрываться им. т.е. мы должны иметь возможность щелкнуть/выбрать содержимое левой стороны.
Здесь можно найти образец .
Пожалуйста, помогите мне решить эту проблему.
yourbox{
position:absolute;
right:<x>px;
top :<x>px;
}
позиционирует его в правом углу. Обратите внимание, что позиция зависит от первого элемента-предка, который не расположен static
!
EDIT:
yourbox {
position: absolute;
left: 100%;
top: 0;
}
слева: 100%; - важная проблема здесь!
Попробуйте это:
left: calc(100% - [the width of your div]px);
Вы можете использовать " translateX"
<div class="box">
<div class="absolute-right"></div>
</div>
<style type="text/css">
.box{
text-align: right;
}
.absolute-right{
display: inline-block;
position: absolute;
}
/*The magic:*/
.absolute-right{
-moz-transform: translateX(-100%);
-ms-transform: translateX(-100%);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
</style>
Я предполагаю, что ваш контейнерный элемент, вероятно, position:relative;
. Это будет означать, что диалоговое окно будет расположено соответственно контейнеру, а не странице.
Можете ли вы изменить разметку на это?
<html>
<body>
<!-- Need to place this div at the top right of the page-->
<div class="ajax-message">
<div class="row">
<div class="span9">
<div class="alert">
<a class="close icon icon-remove"></a>
<div class="message-content">
Some message goes here
</div>
</div>
</div>
</div>
</div>
<div class="container">
<!-- Page contents starts here. These are dynamic-->
<div class="row">
<div class="span12 inner-col">
<h2>Documents</h2>
</div>
</div>
</div>
</body>
</html>
В диалоговом окне вне основного контейнера вы можете использовать абсолютное позиционирование относительно страницы.
Просто, используйте абсолютное позиционирование, и вместо указания верха и левого, укажите верх и правое!
Например:
#logo_image {
width:80px;
height:80px;
top:10px;
right:10px;
z-index: 3;
position:absolute;
}
Можете ли вы попробовать следующее:
float: right;