Tôi có liên kết đến một neo trên trang html của tôi. Khi liên kết được nhấp, nó sẽ khiến trang cuộn đến cột neo sao cho neo nằm ở phía trên cùng của phần hiển thị của trang. Làm thế nào tôi có thể làm cho trang cuộn để neo sẽ ở giữa trang?HTML: Tạo liên kết dẫn đến neo được đặt ở giữa trang
Trả lời
Không có cách nào để thực hiện điều này trong html \ css thuần túy. Có thể sử dụng js, bằng cách lấy vị trí trên cùng của phần tử và thiết lập vị trí trên cùng của trang đến vị trí của phần tử đó trừ đi một nửa chiều cao của trang.
Xác định phần nào của trang bạn thực sự muốn ở trên cùng và thay vào đó đặt neo vào đó. Bạn sẽ không thể thay đổi cách trình duyệt giải thích các neo - ít nhất là không làm phiền người dùng của bạn.
Tôi muốn thử đặt lề âm (hoặc phương pháp định vị khác) bằng một nửa chiều cao trang trên thẻ mục tiêu neo.
Vì "giữa trang" có liên quan đến kích thước màn hình và cửa sổ của người dùng tại bất kỳ thời điểm nào, bạn sẽ phải sử dụng Javascript để đạt được điều này, vì không có cách nào trong HTML/CSS thuần túy có chiều rộng màn hình dọc.
chiều rộng màn hình dọc, chiều cao màn hình a.k.a.? – LarsH
Firefox hỗ trợ thiết lập thuộc tính padding-top trên neo được đặt tên. Từ đó, bạn có thể thiết lập một cookie thông qua javascript có chứa các kích thước của trình duyệt, và điều chỉnh padding-top phù hợp với phía máy chủ của bạn. Đối với người dùng cuối, nó sẽ giống như html/css thuần túy của nó, nhưng noam là chính xác trong đó một chút JS cần thiết để có được kích thước của trình duyệt, vì nó không cung cấp cho bạn thông tin này mà không bị ép buộc chút nào.
Tôi tìm thấy một giải pháp Anchor Links With A Fixed Header đăng bởi Phillip, ông là một nhà thiết kế web. Phillip thêm một EMPTY mới như là vị trí neo.
<span class="anchor" id="section1"></span>
<div class="section"></div>
sau đó đặt đoạn code css sau
.anchor{
display: block;
height: 115px; /*same height as header*/
margin-top: -115px; /*same height as header*/
visibility: hidden;
}
Cảm ơn, Phillip!
nếu bạn muốn mà không gian trống làm điều đó như thế này:
<h2 id="jump_tag" style="padding-top: 500pt; margin-top: -500pt;"></h2>
nhưng, bạn vẫn sẽ phải điều chỉnh chiều cao từ javascript
thankx hoạt động của nó – Inderjeet
Giải pháp của tôi là: đặt một phong cách <span class="anchor" id="X">
sau đó lớp "neo" như:
.anchor {
position:absolute;
transform:translateY(-50vh);
}
nhờ vào "-50vh" neo sẽ di chuyển ở giữa màn hình.
kiểm tra https://www.w3schools.com/cssref/css_units.asp để biết thêm thông tin.
- 1. Tạo một liên kết đến Top của một trang web Nếu không có Sử dụng neo
- 2. Tạo liên kết HTML tới tệp ở cổng khác?
- 3. Tải lại trang bắt buộc bằng neo html (#) - HTML & JS
- 4. Tạo liên kết_to không có đường dẫn (chỉ neo)
- 5. ABCpdf chuyển đổi neo html để chuyển đến một trang khác trong cùng một tệp PDF
- 6. CakePHP - Tạo URL liên kết mà không có thẻ neo
- 7. Drupal: Tạo neo chỉ liên kết với l()
- 8. Tạo liên kết với một neo có chức năng đường dẫn Twig trong Symfony 2
- 9. Có cách nào để liên kết đến một đoạn cụ thể trên trang không có neo không?
- 10. Phương thức liên kết/neo trong Java
- 11. Có cách nào để đánh dấu hoặc liên kết đến một phần của trang không có neo không?
- 12. Tạo liên kết đến Sitecore Item
- 13. Liên kết đến trang quản trị django
- 14. Làm cách nào để đặt liên kết/url vào trang chủ của trang web ở Django?
- 15. chuyển hướng đến cùng một trang để neo
- 16. Liên kết đến trang chỉ mục của trang web
- 17. Làm cách nào để wget chỉ lưu các loại tệp được liên kết đến từ các trang được liên kết đến bởi trang đích?
- 18. Cách tạo liên kết đến thư mục
- 19. Liên kết đến một phần tử trong trang hiện tại
- 20. cách đặt hình ảnh vào giữa trang html?
- 21. Cách liên kết đến các trang không có phần mở rộng .html?
- 22. Tạo cookie nếu liên kết được nhấp, chuyển hướng đến liên kết được nhấp vào lần truy cập tiếp theo
- 23. đặt giữa một hộp div ở giữa trang bằng css
- 24. Trang web PHP Được chuyển đổi thành trang HTML tĩnh - Liên kết vấn đề
- 25. Liên kết ổ đĩa UNC/Mạng trên trang html
- 26. Tạo liên kết đến thông điệp Outlook
- 27. Liên kết đến một phần cụ thể của trang web
- 28. Thuộc tính dữ liệu liên kết href cho thẻ neo
- 29. jQuery hành vi này.hash cho trong các liên kết neo trang
- 30. neo <a> + Liên kết tới URL cơ sở
Tùy thuộc vào chiều rộng của cửa sổ trình duyệt và cách trang chảy, phương pháp này có thể khiến cho neo thực tế ở dưới chế độ xem.Tôi muốn đi với các giải pháp javascript, nhận ra rằng các trình duyệt mà không có javascript sẽ chỉ phải đối phó mà không có tính năng ưa thích. –