2012-03-12 36 views
7

Tôi có HTML sau:Fix đường màu xanh trên Google Chrome

<div id="a"><div id="b">aga ad gdas ga gs ds da dgs sd ds dg gdgsdgwa</div></div> 

Và CSS:

#a, #b { 
    position: absolute; 
    height: 10px; 
    font-size: 10px; 
    white-space:nowrap; 
    display: block; 
} 
#a { 
    width: 200px; 
    overflow: hidden; 
} 

Và Javascript:

var x = 0; 

setInterval(function() { 
    if ($('#b').position().left < (-$('#b').width())) { 
     x = 305; 
    } 
    $('#b').css('left', (x--) + 'px') 
}, 50); 

nào chạy tốt trong Firefox và Internet Explorer Tuy nhiên, trên Google Chrome 17 nó hiển thị một dòng màu xanh ở cuối câu. See live jsfiddle demo.

Blue line on Google Chrome

Làm cách nào để khắc phục sự cố?

+4

Thật là một vấn đề kỳ lạ ... – Blindy

+0

@Blindy Một số văn bản hoạt động tốt, nhưng văn bản này kết thúc bằng 'a' hoặc' w' sẽ làm cho dòng xuất hiện. Nó có thể là một số vấn đề hiển thị của Google Chrome ... – RedDragon

+0

Không thấy bất kỳ dòng nào trên Chrome 17.0.963.79 m. – j08691

Trả lời

8

Tôi khá chắc chắn rằng đó là phông chữ vẽ lại/hiển thị trục trặc. Tôi đã thấy nó trong Java. Nó có thể có ít để làm với JS và CSS của bạn (may mắn thay và không may).

Bí quyết là bắt buộc phải vẽ lại khi vạch đang được tạo. May mắn thay, điều đó dễ dàng được sửa trong kịch bản này: chỉ cần thêm padding-right:1px; vào phần tử #b.


Chỉnh sửa: Bạn có thể xem xét gửi lỗi này tới Google/Apple (vì sự cố xảy ra ở cả Chrome và Safari).

+0

Công trình này. Vui lòng sửa padding: right to padding-right vì nó sẽ không cho phép tôi gửi yêu cầu thay đổi bằng cách chỉ thay đổi một char tại câu trả lời. – RedDragon

+0

@RedDragon Whups. Cảm ơn bạn đã đề cập đến lỗi đó. –

+0

sẽ không phải mẫu số chung là WebKit? –

6

Điều thú vị là màu BG nhạt hơn, dòng màu xanh sai lệch càng sáng. Font-smoothing không khắc phục được.

1px padding-right sửa lỗi (Tôi đã thêm -1px margin-right để bù trừ).

http://jsfiddle.net/MqQG3/1/

+1

Làm mịn phông chữ thường có khắc phục được sự cố như thế này không? –

+1

@JeffreySweeney - có thể. Dường như vấn đề có liên quan đến một điểm ảnh cạnh chống răng cưa trên một ký tự; trong lý thuyết thay đổi loại làm mịn có thể sửa đổi điều đó. –

+0

Ngoài ra, nếu bạn phóng to, nó thực sự trông giống như một chấm đơn từ cạnh của một serif tại đường cơ sở của phông chữ. –

1

Tôi đã có một vấn đề tương tự và giải quyết nó bằng cách sử Math.floor() để integerise chiều rộng, chiều cao và nền kích thước tài sản của tôi ...

Các vấn đề liên quan