需要使子菜单全屏显示

发布时间:2020-07-07 17:42

使用CSS如何使子菜单从屏幕的左侧开始,而不是从父项下面开始。

    import win32com.client as win32
    from pynput import keyboard
    
    class Action:
    
        def send_mail(self):
            outlook = win32.Dispatch('outlook.application')
            mail = outlook.CreateItem(0)
            mail.To = 'Luke Wood'
            mail.Subject = 'Mail subject'
            mail.Body = 'Hello'
    
            mail.Send()
    
    class Hot:
    
        def __init__(self, action):
            self.action = action
            self.listener = keyboard.Listener(win32_event_filter=self.win32_event_filter)
            with self.listener as ml:
                ml.join()
    
        def down(self, key):
            if key == 162:
                self.action.send_mail()
    
        def win32_event_filter(self, msg, data):
            if msg == 256:
                self.down(data.vkCode)
            return True
    
    action = Action()
    Hot(action)
    
    input()
nav {
     margin: 0 auto;
     text-align: center;
}
 nav ul ul {
     display: none;
}
 nav ul li:hover > ul {
     display: block;
}
 nav ul {
     list-style: none;
}
 nav ul li {
     float: left;
}
 nav ul li:hover a {
     color: #000000;
     margin-bottom:5px;
     border-top: 1px solid #000000;
     border-bottom: 1px solid #000000;
}
 nav ul li a {
     display: block;
     padding: 5px 15px;
     color: #000000;
     text-decoration: none;
}
 nav ul ul {
     border-radius: 0px;
     padding: 0;
     position: absolute;
}
 nav ul ul li {
     float: none;
     position: relative;
}
 nav ul ul li a {
     color: #000000;
}
 nav ul ul li a:hover {
     color: #666666;
}
 nav ul ul ul {
     position: absolute;
     top:0;
}

这是一个jsfiddle:http://jsfiddle.net/jhmkqrye/1/-希望对您有帮助

当您将鼠标悬停在“票证”上时,它的子菜单从“票证”下方开始,而我想从“屏幕”的开头开始到屏幕宽度的末尾。

回答1

您可以尝试将亲戚和孩子的父母position设置为absolute,然后使用left, right, bottom, top

设置位置

例如left: 0;会将您的子项放在最左侧

edit:jsfiddle是否正确? “因为我似乎在悬停时找不到任何子菜单,并且在单击时抛出404