0

我正在尝试做的是使博客文章的标题恰好是博客描述宽度的一半,并将其自身对齐在博客描述宽度的 50% 处。

这是我在 JS 中尝试过的:

var post_title_width = document.getElementById("post_desciption").offsetWidth;

var post_title_width = post_description * 0.5; document.getElementbyId("post_title").style.width = post_title_width;

HTML:

    <div class="post">
    <span class="post_title">This is a test title, testing some javascript...........</span><br>
    <span class="post_description">Hello this is a test description right here, just to test some code im trying to do</span>   
    </div>

我没有使用 css,因为我想测试 javascript 并学习如何有效地使用它。

4

2 回答 2

0

如果你真的想用 javascript 来做,你会遇到一些问题:

  1. 您正在尝试使用 getElementbyId 定位类名
  2. 你的变量名搞砸了
  3. 跨度不是块元素,因此设置宽度不适用,除非您设置溢出并将显示更改为块或内联块

http://jsfiddle.net/cmweU/

var post_description = document.getElementsByClassName("post_description")[0],
    post_description_width = post_description.offsetWidth,
    post_title_width = ( post_description_width * 0.5 ) + "px"; 

document.getElementsByClassName("post_title")[0].style.width = post_title_width;
于 2013-08-01T21:18:57.067 回答
0

试试这个(例子):

HTML

<div id="head"><div id="half"></div></div>

CSS

#head {
    width: 300px;
    height: 100px;
    background: purple;
}
#half {
    height: 100%;
    background: green;
}

JS

document.getElementById("half").style.width = document.getElementById("head").offsetWidth / 2 + 'px';

位于其计数器中心的边缘内部块的 JS 尝试使用此(示例):

document.getElementById("half").style.marginLeft = (document.getElementById("head").offsetWidth - document.getElementById("half").offsetWidth) / 2 + 'px';
于 2013-08-01T20:47:44.513 回答