-
Notifications
You must be signed in to change notification settings - Fork 0
/
placeholderCaretAlign.html
57 lines (45 loc) · 1.49 KB
/
placeholderCaretAlign.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html>
<head>
<title>Chrome 54: Caret is misaligned when using :before as a placeholder in contenteditable region</title>
<style type="text/css">
.title {
text-align: center;
}
.editable-region {
cursor: text;
padding: 6px;
display: inline-block;
background-color: rgba(255,0,0,0.5);
}
.editable-region.focus.empty:before {
content: 'Add a title';
opacity: 0.25;
}
</style>
</head>
<body>
<h1>Chrome 54: Caret is misaligned when using :before as a placeholder in contenteditable region</h1>
Chromium bug: <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=670995">https://bugs.chromium.org/p/chromium/issues/detail?id=670995</a>
<h3>Steps to reproduce</h3>
<ol>
<li>Click into the red region below</li>
<li>Notice the caret goes in the middle of the span instead of at the start</li>
</ol>
<span class="title">
<span class="editable-region empty focus" contenteditable="true"></span>
</span>
<h3>Workaround</h3>
Set the <code>text-align</code> property of the editable-region's empty and focus state to left:
<pre><code>
.title-editable.focus.empty {
text-align: left;
}
</code></pre>
<h3>Notes:</h3>
<ul>
<li>This was a recent regression in Chrome. I feel like it started a few weeks ago in November? I can confirm the change of behavior between versions 48.0.2564.103 and 54.0.2840.98.</li>
<li>Safari and Firefox both show the caret left aligned in this case (like Chrome used to)</li>
<li>IE11/Edge put the caret after the before content</li>
</ul>
</body>
</html>