html中怎么设置div的位置

html中怎么设置div的位置,第1张

利用CSS的position属性对元素定位,以下是position 属性规定元素的定位类型。

absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static

默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

inherit

规定应该从父元素继承 position 属性的值。

首先要让DIV启用编辑模式

<div contenteditable=true id="divTest"></div>

通过设定contenteditable=true开启div的编辑模式这样DIV就可以跟文本框一样输入内容了。

不扯话题了。下面说怎么获取或设置光标位置

2个步骤

1:获取DIV中的光标位置

2:改变光标位置

var cursor = 0; // 光标位置

documentonselectionchange = function () {

var range = documentselectioncreateRange();

var srcele = rangeparentElement();//获取到当前元素

var copy = documentbodycreateTextRange();

copymoveToElementText(srcele);

for (cursor = 0; copycompareEndPoints("StartToStart", range) < 0; cursor++) {

copymoveStart("character", 1);//改变光标位置,实际上我们是在记录cursor的数量

}

}

给document绑定光标变化事件。用来记录光标位置

这样就可以拿到DIV的光标位置了

做一下修改:

#left{ float:left; width:30%; height:100%; background:#eeeeee;

margin-left:12px;

}

margin-left:12px;设置“left”左边界离左的距离,设置这个是为了让你左边的div不紧贴左边

#right{ float:right; width:68%; height:100%; background: #eeeecc}

你使用的是二列自适应宽度布局,改你的width为68%是因为你原来的70%是你上层div的总大小的70%,left设置了边界(边界+填充+内容+边框=div总宽)所以left标签的总width已经大于30%,故还要改下right的width

不懂继续问,你这种二列布局有4种方法可以讲给你

1、拖动后记录x,y值

给div加上mousePosition事件

function mousePosition(evt){  

evt = evt || windowevent;

return {

x : evtclientX + documentbodyscrollLeft - documentbodyclientLeft,

y : evtclientY + documentbodyscrollTop - documentbodyclientTop

}

}

2、打开页面div定位

$(“div”)attr("top",y)attr("left",x);

扩展资料

在用js获取元素的位置之前,元素在页面的位置的计算公式,如下:

元素在页面的位置=此元素相对浏览器视窗的位置+浏览器滚动条的值;

用getBoundingClientRect()方法来获得某个元素相对浏览器视窗的位置 {这个方法返回的是一个对象,即Object,该对象具有4个属性:top,left,right,bottom }。

<html >

<head>

<meta >

<title>Demo</title>

</head>

<body style="width:2000px; height:1000px;">

<div id="demo" style="position:absolute; left:518px; right:100px; width:500px; height:500px;

background:#CC0000; top: 114px;">Demo为了方便就直接用绝对定位的元素</div>

</body>

</html>

<script>

documentgetElementById('demo')onclick=function (){

if (documentdocumentElementgetBoundingClientRect) {

alert("left:"+thisgetBoundingClientRect()left)

alert("top:"+thisgetBoundingClientRect()top)

alert("right:"+thisgetBoundingClientRect()right)

alert("bottom:"+thisgetBoundingClientRect()bottom)

var X= thisgetBoundingClientRect()left+documentdocumentElementscrollLeft;

var Y = thisgetBoundingClientRect()top+documentdocumentElementscrollTop;

alert("Demo的位置是X:"+X+";Y:"+Y)

}

}

</script>

以上就是关于html中怎么设置div的位置全部的内容,包括:html中怎么设置div的位置、如何获取可编辑div或body里光标的像素位置、DIV内的DIV如何定位等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9471098.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存