Ваш код должен быть в заголовке, а не в div внутри вашего заголовка.
Просто добавьте это в ваш файл style.css
.header {
position: sticky;
top: 0;
}
. Он отлично работает.
private
не C89 или ключевое слово C99. См. Программирование/Таблицы ссылок C на Викиучебнике *.
кроме того, C ничего не имеет **, чтобы сделать с Java и C# (и, действительно, не C++ любой). Однако обратное неверно - C++ вырос от C, например.
* Лучшая ссылка необходима!
** На самом деле, C89 "одолжил" const
и volatile
ключевые слова от C++ . Аналогично, C99 "одолжил" inline
ключевое слово и также добавил _Bool
и _Complex
(как C++ bool
и complex
, соответственно) <глоток> [необходима цитата] глоток>.
Ни один не ключевые слова C, но некоторые люди делают следующее:
#define public
#define private static
Для тех, кто думает, что это - плохая идея сделать вышеупомянутое, я согласился бы. Но это действительно объясняет, почему кто-то мог бы думать public
, или private
ключевые слова C.
Для тех, кто думает, что это не скомпилирует в C, попробуйте это:
#include <stdio.h>
#include <stdlib.h>
#define public
#define private static
private void sayHello(void);
public int main(void) {
sayHello();
return (EXIT_SUCCESS);
}
private void sayHello(void) {
printf("Hello, world\n");
}
Для тех, кто думает, что это не скомпилирует в C++, да, вышеупомянутая программа будет.
Хорошо на самом деле это - неопределенное поведение из-за этой части стандарта C++:
единица перевода А, которая включает заголовок, не должна содержать макросы, которые определяют имена, объявленные или определенные в том заголовке. И при этом такая единица перевода не должна определять макросы для имен, лексически идентичных ключевым словам.
Так пример выше и ниже не требуются, чтобы делать что-либо нормальное в C++, который является хорошей вещью. Мой ответ все еще абсолютно действителен для C (пока это, как не доказывают, неправильно!:-)).
В случае класса C++ с членами парламента, не занимающими официального поста, можно сделать что-то подобное (рассмотрел злоупотребление) как это:
main.c:
#include <cstdlib>
#define private public
#include "message.hpp"
int main() {
Message msg;
msg.available_method();
msg.hidden_method();
return (EXIT_SUCCESS);
}
message.hpp:
#ifndef MESSAGE_H
#define MESSAGE_H
#include <iostream>
class Message {
private:
void hidden_method();
public:
void available_method();
};
inline void Message::hidden_method() {
std::cout << "this is a private method" << std::endl;
}
inline void Message::available_method() {
std::cout << "this is a public method" << std::endl;
}
#endif