簡體   English   中英

將表頭設置為窗口頂部時防止其大小調整

[英]Preventing table header resizing when setting it to the top of a window

我在調整網頁上的元素大小時遇到​​麻煩。 我已經從一些json數據動態創建了一個表。 我有一個函數,當窗口滾動通過它時,會將表頭固定在頁面頂部:

var header = $("#dataheader").offset();

$(window).scroll(function() {
if($(window).scrollTop() > header.top){
    $("#dataheader").css('top','0').css('background-color',white)
} else {
    $('#dataheader').css('position', 'static');
}
});

現在,標題(及其單元格)的CSS寬度設置為“自動”。 這也意味着,當函數將標題附加到窗口頂部時,它將調整標題的大小,以便其單元格不再與列對齊。 相反,它們變得更短。

有什么辦法可以防止這種情況的發生,或者通過從列中獲取元素的寬度來設置元素的寬度?

靜態前后添加相同的寬度

var header = $("#dataheader").offset();

$(window).scroll(function() {
if($(window).scrollTop() > header.top){
    $("#dataheader").css('position', 'static').css('top','0').css('width',header.width).css('left',header.left).css('background-color','white');
} else {
    $('#dataheader').css('position', 'relative').css('top','').css('width','100%').css('left','').css('background-color','');
}
});

設置寬度<div>調整 window 的大小時</div><div id="text_translate"><p>所以我在 Vuejs 中得到了這個應用程序,它被css grid划分為 3 個 div 基本上:一個sidebar 、一個configpanel和一個preview 。 我想根據當前屏幕大小和屏幕大小調整時以px為單位設置preview div 的寬度</p><p>為了澄清起見,我制作了一個網站的 gif 圖像,它幾乎完全符合我的要求: <a href="https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a" rel="nofollow noreferrer">https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a</a></p><p> 正如您在 gif 中看到的,每次調整屏幕大小時,特定的&lt;div&gt;都會由於某種原因(不知道為什么或如何)被分配一個新的 class 並且 div 的width會自動更新為新的px值。</p><p> 起初我以為我可以在created()鈎子中做這樣的事情:</p><pre> window.addEventListener("resize", () =&gt; { let preview = window.document.querySelector(".preview"); preview.style.width = `${preview.offsetWidth}px`; });</pre><p> 但這不起作用。</p><p> 我在<a href="https://codesandbox.io/s/hopeful-feather-ywh6z?file=/src/components/Preview.vue:125-430" rel="nofollow noreferrer">這里</a>的codesandbox中設置了一個非常簡單的示例項目。</p><p> 理想情況下,我想知道如何像網站在 gif 中那樣動態設置像素width 。</p><p> 此外,出於好奇,我想知道每次調整屏幕大小時該特定網站為何以及如何生成新的 class (我已經看過幾次了,我想知道它是什么)。</p></div>

[英]Setting the width of a <div> when resizing the window

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 設置寬度<div>調整 window 的大小時</div><div id="text_translate"><p>所以我在 Vuejs 中得到了這個應用程序,它被css grid划分為 3 個 div 基本上:一個sidebar 、一個configpanel和一個preview 。 我想根據當前屏幕大小和屏幕大小調整時以px為單位設置preview div 的寬度</p><p>為了澄清起見,我制作了一個網站的 gif 圖像,它幾乎完全符合我的要求: <a href="https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a" rel="nofollow noreferrer">https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a</a></p><p> 正如您在 gif 中看到的,每次調整屏幕大小時,特定的&lt;div&gt;都會由於某種原因(不知道為什么或如何)被分配一個新的 class 並且 div 的width會自動更新為新的px值。</p><p> 起初我以為我可以在created()鈎子中做這樣的事情:</p><pre> window.addEventListener("resize", () =&gt; { let preview = window.document.querySelector(".preview"); preview.style.width = `${preview.offsetWidth}px`; });</pre><p> 但這不起作用。</p><p> 我在<a href="https://codesandbox.io/s/hopeful-feather-ywh6z?file=/src/components/Preview.vue:125-430" rel="nofollow noreferrer">這里</a>的codesandbox中設置了一個非常簡單的示例項目。</p><p> 理想情況下,我想知道如何像網站在 gif 中那樣動態設置像素width 。</p><p> 此外,出於好奇,我想知道每次調整屏幕大小時該特定網站為何以及如何生成新的 class (我已經看過幾次了,我想知道它是什么)。</p></div> 隱藏側邊欄時,Datatables表頭未調整大小 標頭僅在其頂部到達窗口頂部時固定 在表格上調整窗口大小 滾動時將表格標題保留在網格頂部 調整窗口大小時,引導表不會自行調整大小 防止在按下窗口上部時Ios設備滾動到頂部 調整瀏覽器窗口大小時調整網格大小 自動調整標題大小,並改變窗口大小 調整窗口大小時移動圖層
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM