小编rto*_*tom的帖子

如何区分 Firefox 中换行文本的第一个和最后一个位置

我正在处理一个contentEditable span想要将position: absolute元素放置在与光标同一行的位置。当文本因不适合而被换行时,就会出现问题 - 换行行的第一个和最后一个位置有奇怪的行为。

对于它们两者,当我位于第二行中的第一个位置时,偏移ygetBoundingClientRect()等于第一行的偏移量,但是如果我在第二行上进一步移动一个位置,则y offset正确匹配第二行。

在下面的代码片段中,显示了 Firefox 的此行为。对于 Chrome 来说,它似乎工作得很好,尽管在我的完整实现中它也有不精确的行为,但我能够为 chrome 解决它。然而,对于 Firefox,第一行的最后一个位置等于offset第一行,第二行的第一个位置等于offset等于第一行,之后就可以正常工作了。

在示例中,转到第一行的最后一个位置,并注意CURRENT_TOP控制台中的值显示16。如果你向右移动一个地方,光标已经在下一行,它仍然显示16。如果你再向右移动一个,它会说36

const textEl = document.getElementById("myText")

textEl.addEventListener("keyup", (event) => {
  const domSelection = window.getSelection();
  if (domSelection && domSelection.isCollapsed && domSelection.anchorNode) {
    let offsetNewLine = 0;

    const domRange = domSelection.getRangeAt(0);
    const rect = domRange.getBoundingClientRect();
    const rects = domRange.getClientRects();
    const newRange = document.createRange();
    const newRangeNextOffset = domSelection.anchorNode.textContent.length …
Run Code Online (Sandbox Code Playgroud)

html javascript css

9
推荐指数
1
解决办法
633
查看次数

Doctrine make:迁移未知数据库类型

我正在尝试开始使用 Doctrine,但在通过 创建实体时遇到了问题php bin/console make:entity,然后我尝试使用 进行迁移php bin/console make:migration,但收到此错误消息:

请求未知的数据库类型 _int4,Doctrine\DBAL\Platforms\PostgreSqlPlatform 可能不支持它。

我正在使用 postgres 9.4 和原则 2.6

symfony doctrine-orm

4
推荐指数
1
解决办法
4640
查看次数

如何防止同时截断项目

我正在尝试解决一个问题,其中我连续有 3 个项目,并且在调整窗口大小时我想首先截断第二个项目,然后在其 minWidth 之后开始截断第一个项目。目前所有项目都同时被截断。

.container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
}

.child {
  border: 1px solid;
  height: 40px;
}

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.btn {
  min-width: 30px
}

.label {
  overflow: hidden
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="child label">
    <h3 class="truncate">Item label</h3>
  </div>
  <div class="child btn truncate">
    Item Button
  </div>
  <div class="child">
    Item Status
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/e08m4Lcp/

html javascript css

4
推荐指数
1
解决办法
148
查看次数

将 li 元素右对齐

我想将我的 li 元素之一移到右侧,我查看了其他解决方案,但它们不起作用。li.right{ text-align: right;}应该可以,但也许它被以前的 css 取消了?

<body>
    <nav class="navbar navbar-default navbar-fixed-top">
        <div id="navbar container">
            <ul class="nav navbar-nav">
                <li><a href="#">Mac</a></li>
                <li><a href="#">Iphone</a></li>
                <li><a href="#">Ipad</a></li>
                <li><a href="#">Watch</a></li>
                <li class="right"><a href="#">Log In</a></li>
            </ul>
        </div>

    </nav>
</body>
Run Code Online (Sandbox Code Playgroud)

这是CSS

.navbar {
    min-height:32px !important
}

.navbar .navbar-nav {
  display: inline-block;
  float: none;
  vertical-align: top;
}


.navbar{
  text-align: center;
  padding-top: 5px;
}

.navbar{
    font-family: "Times New Roman", Times, serif;
    font-size: 20px;
}

li.right{
    text-align: right;
}
Run Code Online (Sandbox Code Playgroud)

css twitter-bootstrap

3
推荐指数
1
解决办法
3万
查看次数

使用API​​在OneDrive上创建文件夹

我正在尝试通过API在OneDrive上创建新文件夹,但出现异常

致命错误:错误消息“ League \ OAuth2 \ Client \ Provider \ Exception \ IdentityProviderException”未捕获,必须提供以下方面之一才能创建项目:Bundle,File,Folder,RemoteItem

这是与$a = ["name" => "Folder"];

如果我将其更改为:

$a = ["name" => "Folder", "folder" => array()];
$this->provider->post('https://graph.microsoft.com/v1.0/me/drive/root/children',$a,$_SESSION['access_token']);
Run Code Online (Sandbox Code Playgroud)

然后我得到

有效负载中的属性文件夹的值与架构不匹配

示例页面中,我假设该folder值应为空数组。

azure onedrive microsoft-graph

2
推荐指数
1
解决办法
788
查看次数